推荐一个接口文档自动生成工具Swagger
本文包括两个部分:
- webapi中使用swagger
- 修改webapi的路由和默认参数
WebApi中使用swagger
新建一个webapi项目
项目打开之后,选择 引用,右键,管理NuGet程序包
浏览,搜索swagger,选择第一个swashbuckle,安装
安装好之后,右键项目,选择属性,生成,在下面的输出那里勾选:XML文档文件,如果没有自动填充好路径,需要自己填写一下,文件名可以自己取。
打开App_Start文件夹下的SwaggerConfig.cs文件,新增一个如下方法:
private static string GetXmlCommentsPath() { return System.String.Format(@"{0}\bin\WebApiDemo.xml", System.AppDomain.CurrentDomain.BaseDirectory); }
其中WebApiDemo.xml这个文件名要和自己在前一步填写的文件名一致
搜索GetXmlCommentsPath,下面能搜到已经注释了,自己把注释放开,要是没搜到,就自己手动写一下c.IncludeXmlComments(GetXmlCommentsPath());注意要写在register方法里面
打开valuescontroller,自己写一些注释
运行项目,在根路径后面直接加swagger,就会自动跳转到文档,如:http://localhost:8970/swagger,能看到我们写的一些注释
修改webapi的路由和默认参数
在实际应用中,完全使用webapi的restful风格的api设计是比较少见的,请求方式一般也只使用get请求和post请求,所以我们做一些修改,使用的是类似restful风格的api设计,修改一下webapi的路由配置
把valuescontroller做一些修改
/// <summary> /// ValuesController的注释 /// </summary> public class ValuesController : ApiController { /// <summary> /// 获取列表 /// </summary> /// <returns></returns> [HttpGet] public IEnumerable<string> GetList(int pageIndex, int pageSize, string search = "") { return new string[] { "value1", "value2" }; } /// <summary> /// 设置键值对 /// </summary> /// <param name="value"></param> [HttpPost] public string PostData([FromBody]string key, [FromBody]string value = "value") { return "{\"" + key + "\":\"" + value + "\"}"; } }
重新运行,能看到文档变成了如下,必填的参数显示required,非必填的参数可以不用填,post请求的参数也显示在文档里
相关推荐
SAMXIE 2020-11-04
XuDanT 2020-09-16
permanent00 2020-09-15
哈嘿Blog 2020-09-08
Qizonghui 2020-08-02
莫问前程 2020-08-02
SAMXIE 2020-07-26
XuDanT 2020-07-24
莫问前程 2020-07-18
Qizonghui 2020-07-18
coolhty 2020-07-05
Qizonghui 2020-06-28
Qizonghui 2020-06-25
莫问前程 2020-06-22
SAMXIE 2020-06-14
莫问前程 2020-06-14
XuDanT 2020-06-07
qingjiuquan 2020-06-07
TimeMagician 2020-06-03