Skip to main content
All docs
V25.1
  • Integrate the Web API into an Existing XAF Blazor Application

    • 3 minutes to read

    This topic describes how to add the Web API service to a Blazor Server project.

    Add Web API Service: Core Functionality

    Install NuGet Packages

    Install the following NuGet packages to the Blazor Server project (MySolution.Blazor.Server):

    • DevExpress.ExpressApp.WebApi
    • Swashbuckle.AspNetCore
    • DevExpress.ExpressApp.WebApi.Xpo - XPO applications only

    See the following topic for more information on how to install DevExpress NuGet packages: Choose Between Offline and Online DevExpress NuGet Feeds.

    Add Service Configuration Code

    Use the code below to configure services for the Web API:

    File: MySolution.Blazor.Server\Startup.cs

    using DevExpress.ExpressApp.WebApi.Services;
    using Microsoft.OpenApi.Models;
    using Microsoft.AspNetCore.OData;
    // ...
    public void ConfigureServices(IServiceCollection services) {
    // ...     
        services.AddXafWebApi(Configuration, options => { 
            // To make a Business Object available via Web API and
            // to generate GET, POST, PUT, and DELETE HTTP methods for it,
            // uncomment the following line.
            // !!!
            // options.BusinessObject<YourBusinessObject>();
            // !!!
        })
        // In EF Core applications, do nothing. 
        // In XPO applications, uncomment the following line.
        // !!!
        // .AddXpoServices()
        // !!!
        ;
        services.AddControllers().AddOData((options, serviceProvider) => {
            options
                .AddRouteComponents("api/odata", new EdmModelBuilder(serviceProvider).GetEdmModel())
                .EnableQueryFeatures(100);
        });
        services.AddSwaggerGen(c => {
            c.EnableAnnotations();
            c.SwaggerDoc("v1", new OpenApiInfo {
                Title = "MySolution API",
                Version = "v1",
                Description = @"Use AddXafWebApi(Configuration, options) in the MySolution.Blazor.Server\Startup.cs file to make Business Objects available in the Web API."
            });
        });
    }
    
    public void Configure(IApplicationBuilder app, IWebHostEnvironment env) {
        if(env.IsDevelopment()) {
            // ...
            app.UseSwagger();
            app.UseSwaggerUI(c => {
                c.SwaggerEndpoint("/swagger/v1/swagger.json", "MySolution WebApi v1");
            });
        }
        // ...
    }
    

    Configure Authentication Settings (Optional)

    The Web API supports all standard ASP.NET Core authentication techniques. See the following topic for more information: Authentication in Web API projects.

    Create Endpoints and Test the Web API

    You can now create endpoints and test the Web API.

    Add Web API Service: Additional Modules

    You can enable additional Web API Service modules in an existing application. For instructions, please refer to the topic that describes the required module:

    A number of modules are available to you right away, without the need for manual registration:

    Note

    Additional modules listed above ship only as part of the DevExpress Universal Subscription.

    See Also