Asp.Net Core下使用swagger生成api文档
.Net Core中有两个集成NSwag的包,分别为
Swashbuckle和NSwag。两者的配置大同小异。这里以NSwag为例。
一、前期准备
1、初始化asp.net core 测试项目
新建asp.net core项目,此处略过;
新建apicontroller,并编写测试代码;
    [Route("api/[controller]")]
    [ApiController]
    public class UserApiController : ControllerBase
    {
        /// <summary>
        /// 获取用户信息,根据用户id
        /// </summary>
        /// <param name="id">用户id</param>
        /// <returns></returns>
        [HttpGet("getuser/{id}")]
        public ActionResult GetUser(int id)
        {
            User u = new User { Id=1,Name="Jack"};
            return Ok(new { ok = true, data = u });
        }
        /// <summary>
        /// 添加用户
        /// </summary>
        /// <param name="user">用户信息</param>
        /// <returns></returns>
        [HttpPost("postuser")]
        public ActionResult AddUser([FromBody]User user)
        {
            return Ok(new { ok = true, data = user });
        }
    }
    public class User
    {
        /// <summary>
        /// 用户id
        /// </summary>
        public int Id { get; set; }
        /// <summary>
        /// 用户姓名
        /// </summary>
        public string Name { get; set; }
    }
2、使用nuget安装 NSwag.AspNetCore
方式一:通过vs图形界面安装;

方式二:通过nuget 命令安装:
Install-Package NSwag.AspNetCore

二、配置Swagger
1、添加并配置 Swagger 中间件
- 在应用的Startup类中的ConfigureServices 方法中,注册所需的 Swagger 服务:
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddControllersWithViews();
            // Register the Swagger services
    		services.AddSwaggerDocument()
        }
- 在 Startup类中的Configure 方法中,启用中间件为生成的 Swagger 规范和 Swagger UI 提供服务:
public void Configure(IApplicationBuilder app)
{
    app.UseStaticFiles();
    // Register the Swagger generator and the Swagger UI middlewares
    app.UseOpenApi();
    app.UseSwaggerUi3();
    app.UseMvc();
}
- 启动应用。 转到:
 http://localhost:/swagger,以查看 Swagger UI。
 http://localhost:/swagger/v1/swagger.json,以查看 Swagger 规范。
  
2、自定义 API 文档
API 信息和说明
在 Startup.ConfigureServices 方法中,传递给 AddSwaggerDocument 方法的配置操作会添加诸如作者、许可证和说明的信息:
		public void ConfigureServices(IServiceCollection services)
        {
            //services.AddControllers();
            services.AddControllersWithViews();
            services.AddSwaggerDocument(config =>
            {
                config.PostProcess = document =>
                {
                    document.Info.Version = "v1";
                    document.Info.Title = "UserManageApp API";
                    document.Info.Description = "A simple ASP.NET Core web API";
                    document.Info.TermsOfService = "None";
                    document.Info.Contact = new NSwag.OpenApiContact
                    {
                        Name = "张三",
                        Email = string.Empty,
                        Url = "https://example.com"
                    };
                    document.Info.License = new NSwag.OpenApiLicense
                    {
                        Name = "Use under LICX",
                        Url = "https://example.com/license"
                    };
                };
            });
        }
Swagger UI 显示版本的信息:

XML 注释
若要启用 XML 注释,请执行以下步骤:
以windows先使用vs为例:
- 在“解决方案资源管理器”中右键单击该项目,然后选择“编辑 <project_name>.csproj” 。
- 手动将突出显示的行添加到 .csproj 文件 :

三、参考
*以上讲解知识入门级的,能大体使用起来,能满足一般性需求;
Asp.Net Core下使用swagger生成api文档的更多相关文章
- ASP.NET Core WebApi使用Swagger生成api说明文档看这篇就够了
		引言 在使用asp.net core 进行api开发完成后,书写api说明文档对于程序员来说想必是件很痛苦的事情吧,但文档又必须写,而且文档的格式如果没有具体要求的话,最终完成的文档则完全取决于开发者 ... 
- ASP.NET Core WebApi使用Swagger生成api说明文档
		1. Swagger是什么? Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务.总体目标是使客户端和文件系统作为服务器以同样的速度来更新.文件 ... 
- 【转】ASP.NET Core WebApi使用Swagger生成api说明文档看这篇就够了
		原文链接:https://www.cnblogs.com/yilezhu/p/9241261.html 引言 在使用asp.net core 进行api开发完成后,书写api说明文档对于程序员来说想必 ... 
- 三分钟学会 ASP.NET Core WebApi使用Swagger生成api说明文档
		什么是Swagger?为啥要用Swagger? Swagger可以从不同的代码中,根据注释生成API信息,Swagger拥有强大的社区,并且对于各种语言都支持良好,有很多的工具可以通过swagger生 ... 
- ASP.NET MVC 5使用Swagger生成API文档
		一.安装 新建一个没有身份验证的mvc项目 - SwaggerMvc5Demo,然后添加一个名为Remote(自定义)且包含基础读写(不想手写)的ApiController 开源地址:https: ... 
- ASP.NET Core WebApi使用Swagger生成API说明文档【xml注释版】
		⒈新建ASP.NET Core WebAPi项目 ⒉添加 NuGet 包 Install-Package Swashbuckle.AspNetCore ⒊Startup中配置 using System ... 
- ASP.NET Core WebApi使用Swagger生成API说明文档【特性版】
		⒈新建ASP.NET Core WebAPi项目 ⒉添加 NuGet 包 Install-Package Swashbuckle.AspNetCore ⒊Startup中配置 using System ... 
- Asp.Net Core 使用Swashbuckle.AspNetCore 生成API文档
		详情参考:https://www.cnblogs.com/morang/p/9741511.html github地址:https://github.com/yimogit/moxy.blogs/tr ... 
- ASP.NET Core WebApi使用Swagger生成api
		引言 在使用asp.net core 进行api开发完成后,书写api说明文档对于程序员来说想必是件很痛苦的事情吧,但文档又必须写,而且文档的格式如果没有具体要求的话,最终完成的文档则完全取决于开发者 ... 
随机推荐
- LeetCode刷题笔记(6)按照索引计算int[] 数组中的和([Time Limit Exceeded]问题)
			Easy303 Easy633 package easy; public class e303 { private int[] sums; public e303(int[] nums) { sums ... 
- 第一篇:版本控制git之仓库管理
			---恢复内容开始--- 再开始这个话题之前,让我想起了一件很痛苦的事情,在我大学写毕业论文的时候,我当时的文件是这样保存的 毕业论文_初稿.doc 毕业论文_修改1.doc 毕业论文_修改2.doc ... 
- Spring Boot   快速入门  史上最简单
			1.Spring Boot 概述 Spring Boot 是所有基于 Spring 开发的项目的起点.Spring Boot 的设计是为了让你尽可能快的跑起来 Spring 应用程序并且尽可能减少你的 ... 
- 6、pytest -- 临时目录和文件
			目录 1. 相关的fixture 1.1. tmp_path 1.2. tmp_path_factory 1.3. tmpdir 1.4. tmpdir_factory 1.5. 区别 2. 默认的基 ... 
- C++学习笔记10_输入输出流.文件读写
			//从键盘输入到程序,叫标准input:从程序输出到显示器,叫标准output:一并叫标准I/O //文件的输入和输出,叫文件I/O cout<<"hellow word&quo ... 
- bzoj1004 card
			明知是burnside然而根本不会然后无耻地颓了题解后一脸傻气的我: 直接套公式???为啥方案数==等价类数量啊??? skyh:显然啊(狂笑)(hey wxy!他问为啥方案书等于等价类数量!) wx ... 
- fatal: Authentication failed for 'http://git
			git pull 出现 fatal: Authentication failed for 'http://git... git config --system --unset credential.h ... 
- php 开启微信公众号开发者模式
			php 开启微信公众号开发者模式<pre><?php/** * wechat php test */header('Content-type:text');//define your ... 
- 构建大型 Vue.js 项目的10条建议
			下面是我在开发大型 Vue 项目时的最佳实践.这些技巧将帮助你开发更高效.更易于维护和共享的代码. 今年做自由职业的时候,我有机会开发了一些大型 Vue 应用程序.我所说的这些项目,Vuex stor ... 
- pscp命令详解
			注意:只能在winds下执行 环境准备 1.先下载pscp软件,这里是我的云盘地址: 链接:https://pan.baidu.com/s/1mkzRMv-aosC94KbMcMea9w 提取码:k0 ... 
