码迷,mamicode.com
首页 > Web开发 > 详细

net core 3.1 swagger

时间:2020-06-29 17:06:10      阅读:83      评论:0      收藏:0      [点我收藏+]

标签:exec   pre   class   ret   tco   art   自动   sed   herf   

1、引入最新版的swaager

Install-Package Swashbuckle.AspNetCore -Version 5.0.0-rc4

2、在startup类中的ConfigureServices 方法中的服务集合中添加如下代码

// Register the Swagger generator, defining 1 or more Swagger documents
    services.AddSwaggerGen(c =>
    {
        c.SwaggerDoc("v1", new OpenApiInfo { Title = "My API", Version = "v1" });
    });

3、 在startup类中的Configure 方法中启用中间件为生成的 JSON 文档和 Swagger UI 提供服务

技术图片
 // Enable middleware to serve generated Swagger as a JSON endpoint.
    app.UseSwagger();

    // Enable middleware to serve swagger-ui (HTML, JS, CSS, etc.),
    // specifying the Swagger JSON endpoint.
    app.UseSwaggerUI(c =>
    {
        c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
    });
技术图片

4、运行项目并在浏览器访问swaager/index.html,结果如下:

技术图片

 

 

 5、swagger显示xml注释

5.1给接口加一个注释

技术图片
        /// <summary>
        /// 获取天气预报(get)
        /// </summary>
        /// <returns></returns>
        [HttpGet]
        public IEnumerable<WeatherForecast> Get()
技术图片

5.2右键点击项目---->属性------>生成------>勾选xml文档文件

技术图片

 

 5.3在startup类中的ConfigureServices 方法中的服务集合中添加如下代码

技术图片
 //注册swagger 
            services.AddSwaggerGen(c =>
            {
                c.SwaggerDoc("v1", new OpenApiInfo { Title = "My API", Version = "v1" });
                var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
                var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);
                c.IncludeXmlComments(xmlPath,true); //添加控制器层注释(true表示显示控制器注释)
           
            });
技术图片

5.4运行项目并访问swaggerUI

技术图片

 

6、生成swaggerUI 规范,直接访问如下链接,会自动生成一个swagger.json的json文件。

swagger/v1/swagger.json

net core 3.1 swagger

标签:exec   pre   class   ret   tco   art   自动   sed   herf   

原文地址:https://www.cnblogs.com/LiuFengH/p/13208665.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!