当前位置: 首页 > news >正文

使用C#/.NET8 从零开始搭建微服务项目(三)—————— 配置Swagger文档

1、在项目中加一个控制器,添加一个空的测试接口

image

image

image

2、程序包安装

需要在项目中安装 Swashbuckle.AspNetCore。在“程序包管理器控制台”中运行以下命令,或通过 NuGet 包管理器搜索安装。

Install-Package Swashbuckle.AspNetCore

3、配置服务与中间件

安装好包之后,需要在项目的入口文件(Program.cs 或 Startup.cs)中进行配置。
在 Program.cs 文件中,找到 builder.Services 和 app 部分,添加以下代码

using Microsoft.OpenApi;var builder = WebApplication.CreateBuilder(args);builder.Services.AddControllers();
// 添加 API 探索功能 (对于某些模板是必需的)
builder.Services.AddEndpointsApiExplorer();
// 1. 注册 Swagger 生成器服务
builder.Services.AddSwaggerGen(c =>
{c.SwaggerDoc("v1", new OpenApiInfo{Title = "基本信息接口",Version = "v1",Description = "测试搭建微服务中的基本信息API模块"});
});var app = builder.Build();// 2. 启用中间件来生成 OpenAPI 规范的 JSON 文件
app.UseSwagger();
// 3. 启用中间件来提供 Swagger UI 界面
app.UseSwaggerUI(c =>
{c.SwaggerEndpoint("/swagger/v1/swagger.json", "基本信息接口");
});app.UseHttpsRedirection();
app.MapControllers();
app.Run();

4、修改启动项launchSettings.json

image

 

启动项目后,就可以看到一个swagger接口文档。但是我们可以看到控制器和接口的注释说明并没有显示出来

image

image

 5、添加XML注释

默认情况下,Swagger UI 只能看到接口的路径和参数。为了让文档更详细(显示接口作用、参数含义等),我们需要启用代码中的 XML 注释。

  1. 启用 XML 文档生成:在 Visual Studio 中,右键点击项目 -> 属性 -> “生成”选项卡,勾选“输出”下的 “生成包含API文档的文件”。系统会生成一个 项目名.xml 的文件。

    image

  2. 在 Swagger 中引入注释:在配置 AddSwaggerGen 时,添加读取 XML 文件的代码。
    builder.Services.AddSwaggerGen(c =>
    {c.SwaggerDoc("v1", new OpenApiInfo{Title = "基本信息接口",Version = "v1",Description = "测试搭建微服务中的基本信息API模块"});// --- 新增:引入 XML 注释 ---var basePath = Path.GetDirectoryName(typeof(Program).Assembly.Location);if (basePath != null){c.IncludeXmlComments(Path.Combine(basePath, "Test.InfoApi.xml"), true);}// --- 结束 ---
    });

6、运行项目

image

 

http://www.jsqmd.com/news/439728/

相关文章:

  • 2026年论文AI率太高怎么办?这5款降AI率工具亲测有效 - 我要发一区
  • 2026年北京子女抚养权律师电话查询推荐:权威名录与沟通建议 - 十大品牌推荐
  • 2026年中国离婚财产律师电话查询推荐:核心律师资源一览 - 十大品牌推荐
  • 2026年3月高压电机绝缘监测公司最新推荐,高压设备绝缘安全保障 - 品牌鉴赏师
  • 2026年中国离婚房产律师电话查询推荐:高效解决房产分割难题 - 十大品牌推荐
  • 为什么 PHP 闭包要加 static?
  • 2026年上海子女抚养权律师电话查询推荐:资深律师团队精选 - 十大品牌推荐
  • 2026年DeepSeek写论文AIGC检测不通过?这3款降AI工具实测推荐 - 我要发一区
  • 2026年中国离婚财产律师电话查询推荐:权威名录与联系指引 - 十大品牌推荐
  • 2026年天津婚姻纠纷律所电话查询推荐:专业律所盘点与联系指引 - 十大品牌推荐
  • 2026年3月厦门岛内搬家公司推荐,专业服务与品牌保障口碑之选 - 品牌鉴赏师
  • 性能提升百倍/Qt地图组件纯QWidget绘制/缓存瓦片技术/多线程加载绘制
  • 2026年上海离婚律师电话查询推荐:五大律师详细联系信息 - 十大品牌推荐
  • 2026年AI率从92%降到5%,我是这样一步步做到的 - 我要发一区
  • openclaw的记忆机制
  • 清洁度检测分析仪排行更新,苏州西恩士工业有限公司位居行业前三 - 工业设备研究社
  • 2026年北京离婚房产律师电话查询推荐:五大律师联系方式汇总 - 十大品牌推荐
  • 2026年企业统一数据管理平台选型指南:五大主流厂商深度解析 - 品牌2026
  • 2026年天津婚姻纠纷律所电话查询推荐:五大律所联系信息详解 - 十大品牌推荐
  • 2026年MBA培训机构深度测评:本土化深耕者的崛起与突围 - 深度智识库
  • 2026优质机械加工厂商推荐榜:航空航天、新能源领域核心配套指南 - 深度智识库
  • 学霸同款! 降AIGC工具 千笔 VS speedai,专科生专属高效选择
  • 2026年球阀行业评测:三通球阀制造厂家哪家有优势?有实力的球阀制造商精选国内优质品牌榜单 - 品牌推荐师
  • 2026废气处理设备精选:助您选型,检测中心实验室污水设备,废气处理设备实力厂家哪家强 - 品牌推荐师
  • 2026年3月管道安全监测干涉型光纤传感安防系统公司推荐:行业权威盘点与品质红榜发布 - 品牌鉴赏师
  • 2026年天津婚姻纠纷律所电话查询推荐:津门专业律所汇总 - 十大品牌推荐
  • 探索JavaScript的秘密令牌:独一无二的`Symbol`数据类型
  • 2026年 发电机厂家实力推荐榜:康明斯/玉柴/高压/大功率柴油发电机组专业测评与选购指南 - 品牌企业推荐师(官方)
  • 2026年数据资产管理平台选型指南:五大核心厂商与行业适配解析 - 品牌2026
  • Linux内核都在用的时间轮算法,我用C++实现了分布式版本——附完整源码