.NET MVC API Swagger 自动生成API文档入坑

开发环境 Win10 VS2022 .NET8.0

1.从NuGet添加Swagger

在解决方案资源管理器中右键单击项目>管理 NuGet 包

将包源设置为"nuget.org"

确保启用"包括预发行"选项

在搜索框中输入"Swashbuckle.AspNetCore"

从"浏览"选项卡中选择最新的"Swashbuckle.AspNetCore"包,然后单击"安装"

2.将 Swagger 生成器添加到以下位置的服务集合中Program.cs:
复制代码
builder.Services.AddControllers();

builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();

启用中间件 生成

复制代码
app.UseSwagger();
app.UseSwaggerUI();

app.UseSwaggerUI(options =>
{
    options.SwaggerEndpoint("/swagger/v1/swagger.json", "v1");
    options.RoutePrefix = string.Empty;
});
3.添加API控制器

创建api

复制代码
        // GET api/<myapi>/5
        /// <summary>
        /// getid
        /// </summary>
        /// <param name="id">id参数</param>
        /// <returns>valuestr</returns>
        [HttpGet("{id}")]
        public string Get(int id)
        {
            return "value" + id;
        }

        // POST api/<myapi>
        [HttpPost]
        public string Post([FromBody] string value)
        {
            //post逻辑代码
            return "myPost";
        }

        // PUT api/<myapi>/5
        [HttpPut("{id}")]
        public string Put(int id, [FromBody] string value)
        {
            //put逻辑代码
            return "myPut";
        }

        // DELETE api/<myapi>/5
        [HttpDelete("{id}")]
        public string Delete(int id)
        {
            //delete逻辑代码
            return "myDelete";
        }
4.F5运行 访问/swagger/index.html

5.try it out测试API

看到返回了 value111 即接口没问题

参考资料:

asp.net core - Swagger UI Authorization using IdentityServer4 returns Invalid redirect_uri - Stack Overflow
c# - What is AddEndpointsApiExplorer in ASP.NET Core 6 - Stack Overflow

Get started with Swashbuckle and ASP.NET Core | Microsoft Learn

Swagger 基础

相关推荐
界面开发小八哥2 小时前
界面控件DevExpress Blazor v26.1新版亮点 - Navigation(导航)
javascript·.net·界面控件·blazor·devexpress·ui开发
用户298698530146 小时前
C# 实现 PowerPoint 多格式转换:图片、PDF 与 SVG 实战
c#·.net·svg
李高钢7 小时前
【WPF】从 Avalon 到 .NET 10:WPF 平台演进史与特性全览
.net·wpf
刚子编程1 天前
用 Inno Setup 把 .NET 程序打包成安装包:从零到发布的完整指南
.net·inno setup·码农刚子·.net 程序打包·安装脚本编写
小小龙学IT1 天前
Qt 模型/视图框架(Model/View)深度解析:从 MVC 演化到数据展示架构的王者
qt·架构·mvc
界面开发小八哥1 天前
界面控件DevExpress Blazor v26.1新版亮点 - TreeList & 数据编辑器
javascript·编辑器·.net·界面控件·blazor·devexpress·用户界面
rockey6272 天前
C#脚本引擎之AScript与Flee对比
c#·.net·script·eval·动态脚本
树码小子2 天前
什么是大语言模型
人工智能·语言模型·mvc
海盗12342 天前
微软技术周报 · 2026-08-11~2026-08-18
人工智能·microsoft·.net
evans在进步2 天前
Spring MVC 核心机制详解:全局异常处理、请求跳转与数据绑定
java·spring·mvc