欢迎光临
个人技术文档整理

.NET 开发WebApi— 添加Swagger支持

NET 中使用swagger


打开Nuget包安装swagger需要dll

  1. 打开Nuget,搜索安装Swashbuckle.AspNetCore
  2. Install-Package Swashbuckle.AspNetCore

Startup.cs中加入swagger

public void ConfigureServices(IServiceCollection services)
        {
            
            //注册 swagger
            services.AddSwaggerGen(options =>
            {
                options.SwaggerDoc("v1", new OpenApiInfo
                {
                    Version = "v1",
                    Title = "我的API-列表",
                    Description = "API描述"
                });
               //必须生成xml文件,才能使用
               // var xmlFilename = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
               // options.IncludeXmlComments(Path.Combine(AppContext.BaseDirectory, xmlFilename));
            });
        }
  public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
             
                #region 启用swaggerUI 
                {
                    app.UseSwagger();
                    app.UseSwaggerUI(c =>
                    {
                        c.SwaggerEndpoint("/swagger/v1/swagger.json", "我的 API V1");
                    });
                }
                #endregion 
 
        }

 

生成xml文件,接口文档生成注释需要程序集的xml文件

  • 打开项目的.csproj文件加上标识让程序生成这个程序集的文档
    <GenerateDocumentationFile>true</GenerateDocumentationFile>

新增一个简单的API

   /// <summary>
    /// demo API
    /// </summary>
    [ApiController]
    [Route("api/[controller]/[action]")]
    public class DemoController : Controller
    {


        /// <summary>
        /// 获取列表
        /// </summary>
        /// <returns></returns>
        [HttpGet]
        public IActionResult GetList()
        {
            return Json(new { Code = 200, Msg = "获取一个列表" });
        }

        /// <summary>
        /// 获取一个指导扶持
        /// </summary>
        /// <returns></returns>
        [HttpGet]
        public IActionResult GetStr()
        {
            return Content("获取一个列表");
        }
        /// <summary>
        /// 保存一个结果
        /// </summary>
        /// <param name="content">提交的内容</param>
        /// <returns></returns>
        [HttpPost]
        public IActionResult SaveDemo([FromForm] string content)
        {
            return Json(new { Code = 200, Msg = "保存一个内容" });
        }


    }

 

访问 http://localhost:xxx/swagger/index.html 

 

赞(1)