后端 Web API 服务与 REST API
概述
Web API 服务集成了授权和 CRUD 操作,支持 Microsoft EF Core 和 DevExpress XPO ORM 库。您可以使用 OAuth2、JWT 或自定义策略进行身份验证。内置的安全系统还可以根据用户的权限过滤出安全的服务器数据。
Web API 创建 URL(端点),允许您从非 XAF UI 应用程序(例如 .NET MAUI、JavaScript 或 Blazor 客户端)执行 CRUD 操作。它使用 ASP.NET Core OData 来支持分页、过滤器和其他 OData 选项。该服务可以作为 Blazor Server 项目的一部分托管,也可以作为独立的 ASP.NET Core 项目。
Web API 利用 Swagger(OpenAPI)来显示和测试端点。您还可以测试端点或使用其他平台的 Web API(例如 Postman、.NET 或 JavaScript)。

Web API 服务的基本功能(包括模板套件)是免费提供的。关于详细许可信息,请参考最终用户许可协议。
如何使用
您可以将 Web API 添加到现有的 Blazor Server 项目或使用此服务创建新项目:
- 创建独立的 Web API 应用程序
- 将 Web API 集成到现有的 XAF Blazor 应用程序中
将 Web API 添加到项目后,您可以按照以下主题使用它:
- 添加和保护 CRUD Web API 端点
- 向 Web API 发出 HTTP 请求
- 对端点请求执行自定义操作
- 创建自定义端点
- 在自定义端点方法中访问对象空间、安全系统和标题帮助器
此外,参考 GitHub 示例:
- JavaScript with DevExtreme + ASP.NET Core Web API/OData App
- JavaScript with Svelte + ASP.NET Core Web API/OData App
- Blazor WebAssembly App
- .NET MAUI (iOS/Android) App
- WinForms Application (with OData)
身份验证选项
Web API 支持所有标准的 ASP.NET Core 身份验证技术,您可以在 MySolution.WebApi\Startup.cs 或 MySolution.Blazor.Server\Startup.cs 文件中指定。详见:Web API 项目中的身份验证。
性能考虑
您可以禁用日志记录以提高 Web API 性能。为此,将 LogLevel.DevExpress.ExpressApp 选项设置为 None。
文件: MySolution.Blazor.Server\appsettings.json(调试时使用 MySolution.Blazor.Server\appsettings.Development.json)
{
"LogLevel": {
"Default": "Information",
"Microsoft"


