.net core web api中集成Swagger
Swagger是一款强大得api开发的辅助工具,能帮助我们省去编写api接口文档的这步操作,大大的减少了我们的工作量。
1.安装相应的包
Install-Package Swashbuckle.AspNetCore
或是通过Nuget管理工具完成安装

2.在ConfigureServices中注册服务
 services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new OpenApiInfo{ Title = "MyAPI", Version = "v1" }); });
SwaggerDoc方法的第二个参数需要的是OpenApiInfo类型,所以先在Startup中引入其对应的命名空间
using Microsoft.OpenApi.Models;
3.在Configure中使用
app.UseSwaggerUI(c => { c.SwaggerEndpoint("/swagger/v1/swagger.json", "MyAPI"); });
4.启动项目并查看
IP:端口/swagger/index.html 例如:http://localhost:57558/swagger/index.html

至此就完成了swagger的集成,同时也可以完善OpenApiInfo的内容补充详细的介绍
  services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new OpenApiInfo{
                Version = "v1",//版本号
                Title = "MyAPI",//标题
                Description = "helloworld", //描述
                TermsOfService = new Uri("https://helloworld.com/terms"),//服务条款
                Contact = new OpenApiContact
                {
                    Name = "hello",//联系人
                    Email = "hello@163.com",//邮件地址
                    Url = new Uri("https://helloworld.com/"),//网址
                },
                License = new OpenApiLicense
                {
                    Name = "HTTP", //协议
                    Url = new Uri("https://hello.com/license"),//协议地址
                }
            }); });

2.设置swaggerui为默认起始页
在launchSettings.json中配置如下
"profiles": { "IIS Express": { "commandName": "IISExpress", "launchBrowser": true, "launchUrl": "swagger", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" } }, "InfoPlatform": { "commandName": "Project", "launchBrowser": true, "launchUrl": "swagger", "applicationUrl": "http://localhost:5000", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" }
3.添加接口注释
在项目上点击右键-》属性-》生成-》XML文档文件
 
修改配置如下
services.AddSwaggerGen(c => { var basePath = AppDomain.CurrentDomain.BaseDirectory; var xmlPath = Path.Combine(basePath, "InfoPlatform.xml"); c.IncludeXmlComments(xmlPath); c.SwaggerEndpoint("/swagger/v1/swagger.json", "MyAPI")
});
接口添加文档注释
/// <summary> /// 登陆接口 /// </summary> /// <param name="userinfo"></param> /// <returns></returns> [HttpPost("Login")] public IActionResult Login([FromBody] UserInfo userinfo)
运行效果

 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号