WebAPI使用Swagger生成接口文档
2024-10-18 18:25:49
开发工具:VS2017 版本15.7.1
新建项目,选择空模板,下面只勾选WebAPI
配置Web.config
<system.webServer> 节点改为
<system.webServer> <handlers> <remove name="OPTIONSVerbHandler" /> <remove name="TRACEVerbHandler" /> </handlers> <validation validateIntegratedModeConfiguration="false" /> <!-- 兼容IIS版本 --> <modules runAllManagedModulesForAllRequests="true"> <remove name="WebDAVModule" /> </modules> <!-- 正式环境,不需要配置跨域 --> <httpProtocol> <customHeaders> <add name="Access-Control-Allow-Origin" value="*" /> <add name="Access-Control-Allow-Headers" value="Origin, X-Requested-With, Content-Type, Accept, Authorization" /> <add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" /> </customHeaders> </httpProtocol> </system.webServer>
<runtime>节点中,删除已经去除的依赖包
加入Swagger。打开NuGet,找到 Swashbuckle 并安装
修改 SwaggerConfig.cs
接口文档是根据项目的xml结构文件生成的,首先要开启该功能
在配置SwaggerConfig.cs 中,设置对应的xml路径。如果有多个,则依次配置(比如有多个模型类库)。
开启验证,这里是简单的请求头模式
写一个测试接口,注意使用 ResponseType,才会显示响应的参数
public class TestController : ApiController { /// <summary> /// 测试接口 /// </summary> [Route("api/name")] [HttpGet] [ResponseType(typeof(MyResp))] public IHttpActionResult GetName([FromUri]MyReq req) { var resp = new MyResp(); resp.name = req.name; return Ok(resp); } } /// <summary> /// 测试请求 /// </summary> public class MyReq { /// <summary> /// 输入姓名 /// </summary> public string name { get; set; } } /// <summary> /// 测试响应 /// </summary> public class MyResp { /// <summary> /// 输出姓名 /// </summary> public string name { get; set; } }
来看下最后的效果
最新文章
- 【NLP】揭秘马尔可夫模型神秘面纱系列文章(三)
- HTML---用记事本写html
- TestNG 入门教程
- Linux简介及常用命令使用4--linux高级命令与技巧
- 【转载】CentOS服务器配置VPN详解
- Allegro16.3约束设置 (转载)
- OpenJudge 2809 计算2的N次方
- SQL SERVER 作业(或叫执行计划)
- capitalize()在Python中含义
- DBI接口和DPI接口的区别
- 转:窗口启用/禁用功能函数EnableWindow的使用
- js判断字符串中的英文和汉字
- java URLEncoder 和Base64.encode()
- 201621123031 《Java程序设计》第10周学习总结
- HibernateTemplate 查询原生sql及ljava.lang.object cannot be cast to
- Python 中关于Random的使用方法
- python 基础之python的六大标准数据类型
- Telegraf安装与介绍
- jquery cdn bootstrap静态资源库问题
- Docker 系列01: Centos7.3 上安装docker
热门文章
- 从原理上搞定编码(二)-- Web编码
- 常州day1p4
- 【BZOJ4455】小星星(动态规划,容斥)
- 【NOIP2017】列队(Splay)
- 【省选水题集Day1】一起来AK水题吧! 题解(更新到B)
- 【loj6059】Sum
- 【hdu6051】If the starlight never fade
- 实现了一下Berlekamp-Massey
- python基础----再看property、描述符(__get__,__set__,__delete__)
- 【DP】【P5007】 DDOSvoid 的疑惑