跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Python

后端 Web API 服务与 REST API 概述

综述由AI生成后端 Web API 服务与 REST API 概述 Web API 服务集成了授权和 CRUD 操作,支持 Microsoft EF Core 和 DevExpress XPO ORM 库。您可以使用 OAuth2、JWT 或自定义策略进行身份验证。内置的安全系统还可以根据用户的权限过滤出安全的服务器数据。 Web API 创建 URL(端点),允许您从非 XAF UI 应用程序(例如 .NET…

涅槃凤凰发布于 2026/4/6更新于 2026/5/3179K 浏览
后端 Web API 服务与 REST API 概述

后端 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 服务的基本功能(包括模板套件)是免费提供的。关于详细许可信息,请参考最终用户许可协议。

如何使用

您可以将 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": "Warning",
    "Microsoft.Hosting.Lifetime": "Information",
    "DevExpress.ExpressApp": "None"
  }
}

使用除 None 以外的日志记录选项(例如 DevExpress.ExpressApp = Debug)仅用于调试目的,因为日志记录会降低性能。详见:日志文件。

限制

  • 不支持在 XPO 数据模型中使用自定义字段。底层 ASP.NET Core Web API / OData v4 基础结构以 System.Type 对象的形式通过反射直接访问类型信息,这些对象不包含有关自定义字段的信息。

常见问题

Q: 必须在我的项目中包括 XAF UI 依赖关系吗?

A: Web API 服务依赖于 Visual Studio 2022 和一些非可视化跨平台 .NET 包(例如 DevExpress.Data, DevExpress.Xpo, DevExpress.Document.Processor 等)。虽然这些包的名称中有'XAF'或'ExpressApp',但您不需要在项目中引入 XAF WinForms 和 ASP.NET Core Blazor 依赖。

换句话说,如果您不需要 XAF,就不必强制使用它。可选地,您可以告诉模板套件在 XAF Blazor UI 应用程序中创建 Web API 服务。这有助于那些希望在同一包中合并 Web 管理面板和嵌入式 API 服务器的人(更容易托管和维护)。当然,您也可以始终在独立的基础上使用 Web API 服务。

Q: 如果我不开发 XAF UI 应用程序,我会从 Web API 服务中受益吗?

A: Web API 服务可以在 XAF 驱动的 UI 应用程序之外使用。许多开发人员已经成功地使用 Web API 服务作为他们的 Angular、Vue、React、Blazor WebAssembly、Xamarin 等的后端 .NET/JavaScript UI 客户端。

Q: 我必须学习很多 XAF 术语才能使用 Web API 吗?

A: 就客户端或消费者而言,Web API 服务是一个标准的 ASP.NET Core OData 8.0 服务——使用标准的 OData v4 查询选项来使用 API。您还可以使用 Swagger UI、Postman、浏览器开发者工具或标准的 .NET/JavaScript API。

Q: 可以自定义 API 吗?

A: 您可以执行 ASP.NET Core OData 支持的所有操作。您可以自定义自己的 EF Core 或 XPO 数据模型,并在 XAF 层微调(安全权限、CRUD 行为等)。

目录

  1. 后端 Web API 服务与 REST API
  2. 概述
  3. 如何使用
  4. 身份验证选项
  5. 性能考虑
  6. 限制
  7. 常见问题
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • 多线程数据竞争解析:互斥锁与原子操作原理及实践
  • Qwen2.5 大模型微调实践指南:基于 LLaMA-Factory 与魔塔社区
  • Codex 代码生成模型简介
  • VSCode 精准控制 Copilot 补全:按语言与场景灵活配置
  • 前端项目打包与部署指南:从 npm run build 到线上发布
  • OpenClaw 全平台卸载指南:Windows、macOS、Linux 及包管理器清理
  • Linux System V 标准简介
  • Python 修改 pip 默认安装路径的几种方法
  • Python 拒绝采样算法优化与多峰分布模拟实战
  • 大模型高频面试题精选与核心考点解析
  • GitHub 全界面中文化:Tampermonkey 插件安装与配置指南
  • ROS 2 DDS 中间件通信优化与 QoS 策略详解
  • 安卓手机使用 Termux 部署 AstrBot 与 NapCat 搭建 QQ 机器人
  • Java 并发核心:单例、生产者消费者、定时器与线程池实战
  • RuoYi-Vue Pro 基于 Spring Boot 与 Vue 的企业级快速开发平台
  • 解决 git 推送出现 fatal: The remote end hung up unexpectedly 错误的 3 种方法
  • 大模型技术系统学习书单推荐:从理论到实践
  • AI 辅助前端设计:从原型验证到代码生成的全流程
  • Stable Diffusion WebUI 本地部署教程
  • 大模型并非过时,小模型与多模型协作是未来趋势

相关免费在线工具

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online