• 使用swagger实现web api在线接口文档


    swagger的好处就不多说了,直观而且漂亮,省事又省力,最重要是提供了测试功能,把权限一关,直接可以在线测试下边还是先上个图吧:

     1.新建一个web api项目

      

      2.使用nuget添加Swashbuckle

      

      3.完成

      没错,就是这么简单!运行项目,转到地址 http://localhost:57700/swagger/ui/index 会看到如下页面,这是默认添加的两个apicontroller:  

      这个时候接口还没有具体的描述信息等,例如我们给ValuesController.Get添加注释描述,在页面上还是没有显示出来。需要按照如下步骤实现:

      1. 在app_start 下 SwaggerConfig 大100行的位置找到 //c.IncludeXmlComments(GetXmlCommentsPath()); 如下注释,改为:c.IncludeXmlComments(GetXmlCommentsPath(thisAssembly.GetName().Name)); (注意去掉注释了)

      2. 在SwaggerConfig添加一个方法代码:

    1
    2
    3
    4
    protected static string GetXmlCommentsPath(string name)
    {
        return string.Format(@"{0}in{1}.XML", AppDomain.CurrentDomain.BaseDirectory, name);
    }

      3. 修改项目生成,在bin下对应的xml文件可以看到具体的描述文档,如下:

      

      重新生成项目,就要可以看到完整的接口描述了。例如我们心中一个TestController如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    /// <summary>
    /// 测试控制器
    /// </summary>
    public class TestController : ApiController
    {
        /// <summary>
        /// 测试Get方法
        /// </summary>
        /// <remarks>测试Get方法</remarks>
        /// <returns></returns>
        [HttpGet]
        public string Get()
        {
            return "Get";
        }
     
        /// <summary>
        /// 测试Post方法
        /// </summary>
        /// <param name="name">姓名</param>
        /// <param name="age">年龄</param>
        /// <remarks>测试Post方法</remarks>
        /// <returns></returns>
        [HttpPost]
        public string Post(string name, int age)
        {
            return name + age.ToString();
        }
    }

      生成的页面如下,可以看到接口的描述,点击Try it out 即可调用:

      

  • 相关阅读:
    P3381 【模板】最小费用最大流
    Android Studio安装插件提示was not installed: Cannot download的解决
    webpack 引用vconsole
    vue ...mapMutations 的第一个参数默认为 数据对象state
    vue 如何实现在函数中触发路由跳转
    axios 使用
    rem 的使用
    vscode 习惯配置
    修改默认的inout输入框背景颜色
    vue -本地服务配置
  • 原文地址:https://www.cnblogs.com/xiaopotian/p/6729318.html
Copyright © 2020-2023  润新知