zoukankan      html  css  js  c++  java
  • 手把手教你AspNetCore WebApi:Swagger(Api文档)

    前言

    小明已经实现“待办事项”的增删改查,并美滋滋向负责前端的小红介绍Api接口,小红很忙,暂时没有时间听小明介绍,希望小明能给个Api文档。对于码农小明来说能不写文档就尽量不要写,不过这也难不倒小明,他知道Swagger不仅可以自动生成Api文档,并还可以用Swagger进行接口测试。

    Swagger是什么?

    Swagger用于描述 REST API。 它允许计算机和人员了解服务的功能,而无需直接访问实现(源代码、网络访问、文档)。

    包安装

    • 右键单击“解决方案资源管理器” > “管理 NuGet 包”中的项目
    • 将“包源”设置为“nuget.org”
    • 确保启用“包括预发行版”选项
    • 在搜索框中输入“Swashbuckle.AspNetCore”
    • 从“浏览”选项卡中选择最新的“Swashbuckle.AspNetCore”包,然后单击“安装”

    添加Swagger生成器

    将Swagger生成器添加到 Startup.ConfigureServices 方法中的服务集合中:

    services.AddSwaggerGen();
    

    配置Swagger中间件

    在 Startup.Configure 方法中,启用中间件为生成的 JSON 文档和 Swagger UI 提供服务:

    app.UseSwagger();
    app.UseSwaggerUI(c =>
    {
        c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
    });
    

    XML注释

    • 在“解决方案资源管理器”中右键单击该项目,然后选择“编辑<project_name>.csproj” 。

    • 手动将PropertyGroup添加:

      true

    更改services.AddSwaggerGen();代码如下:

    services.AddSwaggerGen((c =>
    {
        var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
        var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);
        c.IncludeXmlComments(xmlPath);
    }));
    

    效果

    小结

    目前为止,小明终于把API文档也搞定了,摸了摸光滑的脑袋,小明美滋滋把API地址给小红发去,心想这样小红肯定很满意了吧,但对不能与小红面对面的交流接口也有一丝丝淡淡的失望。

  • 相关阅读:
    python编码问题和py2和py3的不同
    day27
    多继承补充
    zoj3820 Building Fire Stations 树的中心
    DLX舞蹈链 hdu5046
    时间复杂度
    线性求中位数 poj2388
    codeforce447 D SGU 548 贪心+优先队列
    hdu4864 hdu4268 贪心 lower_bound
    zoj3672 Gao The Sequence
  • 原文地址:https://www.cnblogs.com/zcqiand/p/13775816.html
Copyright © 2011-2022 走看看