swagger for c# webapi
最近迷上了前后端分离的开发架构,工作中的项目几乎都采取这种模式,自己主要担任服务端RestFul风格的Webapi开发。那么问题来了,当前端开发人员找我要api说明文档的时候,曾一度非常可耻的冒出过word、excel之类的想法,oh my god!我一定是昨晚吃的东西还没消化,吃撑了。好了,言归正传,在团队开发中,一个好的 API 文档可以减少很多 交流成本 ,也可以使一个新人快速上手业务。so,swagger就是一个非常不错的选择,而且现在nuget中可以安装swagger的.net支撑包,这就更加便捷了,完全可以将开发人员从api文档的编写工作中解放出来。
具体的操作方式如下:
1、新建一个webapi 2项目,这里就不再赘述了
2、使用程序包管理器控制台安装Swashbuckle,命令如下:Install-Package Swashbuckle
3、安装好以后,会自动在项目的App_Start文件夹下新建一个SwaggerConfig.cs文件
4、打开项目的属性配置窗口,在生成选项卡中勾选XML文档文件,并配置文档路径及名称为bin\Swagger.xml(具体名字可随个人喜好或者项目的统一规范标准进行命名)
至此就已经OK了,调试运行模式/发布到iis后,在http://baseurl/swagger/ 下即可看到所有controll及其下所有的api
展开Account后的界面
但是,问题来了,我的api为什么都没有说明性的文字呢?我在代码中明明是增加了方法注释的呀
好吧,不用着急,做几步简单的处理即可解决这个问题
1、在SwaggerConfig.cs中,打开Register方法里的c.IncludeXmlComments(GetXmlCommentsPath());这句代码
2、新增GetXmlCommentsPath方法
private static string GetXmlCommentsPath()
{
return System.String.Format(@"{0}\bin\swagger.XML", System.AppDomain.CurrentDomain.BaseDirectory);
}
注意,上面代码中的文档路径要跟项目属性中配置的一样,包括名称和路径地址,我之前配置的时候就只写了Swagger.XML,忘记了bin\目录
好了,再次调试运行/发布到iis(已经发布到IIS的直接编译一下即可),大功告成。
swagger非常棒的一个特性,就是可以直接测试
在Value中输入参数,点击Try it out!,即可看到api的返回结果
怎么样,很棒吧!
swagger for c# webapi的更多相关文章
- ABP项目中使用Swagger生成动态WebAPI
本文是根据角落的白板报的<使用ABP实现SwaggerUI,生成动态webapi>一文的学习总结,感谢原文作者角落的白板报. 1 安装Swashbuckle.core 1.1 选择WebA ...
- Swagger+Asp.net WebApi实例
第一步新建WebApi项目 文件-新建-项目,弹出以下页面 第二步,新建参数项目 第三步 1.自定义输入参数 2.定义公用输出参数 3.定义输出参数 4.定义返回模型 第四步,在webapi项目中新增 ...
- asp.net mvc5中使用Swagger 自动生成WebApi文档笔记
Swagger可以自动生成Api说明文档,并内置在线测试,通过NSwagStudio还可以自动生成Api客户端调用代码,以下为具体实现步骤 1.写一个简单的WebApi并加上注释 public cla ...
- swagger-ui 系统配置过程(基于spring+springmvc+swagger+springfox配置 web-api 管理系统)
web工程部分框架信息:spring springmvc swagger springfox maven 参考文档:https://www.cnblogs.com/exmyth/p/7183753.h ...
- 在WebApi中 集成 Swagger
1. Swagger(俗称:丝袜哥)是什么东西? Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务.总体目标是使客户端和文件系统作为服务器以同 ...
- WebApi 集成 Swagger
1. Swagger(俗称:丝袜哥)是什么东西? Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务.总体目标是使客户端和文件系统作为服务器以同 ...
- ASP.NET WebAPI使用Swagger生成测试文档
ASP.NET WebAPI使用Swagger生成测试文档 SwaggerUI是一个简单的Restful API测试和文档工具.简单.漂亮.易用(官方demo).通过读取JSON配置显示API .项目 ...
- .NetCore WebApi——基于JWT的简单身份认证与授权(Swagger)
上接:.NetCore WebApi——Swagger简单配置 任何项目都有权限这一关键部分.比如我们有许多接口.有的接口允许任何人访问,另有一些接口需要认证身份之后才可以访问:以保证重要数据不会泄露 ...
- .NetCore WebApi——Swagger简单配置
在前后端分离的大环境下,API接口文档成为了前后端交流的一个重点.Swagger让开发人员摆脱了写接口文档的痛苦. 官方网址:https://swagger.io/ 在.Net Core WebApi ...
随机推荐
- Ubuntu常用软件安装
1.好用的截图Shutter,sudo apt-get install shutter
- 如何申请国际版Office365和Azure的试用账号
关键字:国际版.Office365.Azure.试用账号.1美元.信用卡 待续
- linux 使用/proc文件系统 实现用户空间与内核模块之间通信
项目中可能会用到用户态和内核模块之间进行通信的功能.想到linux系统本身很多通信都是通过/proc文件系统来的,比如修改网络中连接跟踪表连接数限制/proc/sys/net/netfilter/nf ...
- Lucene.net应用
1.加入盘古分词方法 /// <summary> /// 对输入的搜索的条件进行分词 /// </summary> /// <param name="str&q ...
- SCALA XML pattern attrbute(属性)
from: Working with Scala's XML Support 虽然这个guy炒鸡罗嗦,但是还是讲到我要的那句话: Because Scala doesn't support XML ...
- hibernate 入门
工程截图 1.jar包 和 hibernate配置文件 /src/hibernate.cfg.xml , /src/log4j.properties , /src/db.sql < ...
- App前后台判断
http://blog.csdn.net/vpractical/article/details/51034360 需求是计算app在后台的时间,当返回前台时,根据时间差来做相应的操作. 思路是让app ...
- Cas 介绍及使用
CAS(Central Authentication Service)是Yale大学发起的一个企业级的.开源的项目,旨在为web应用系统提供一种可靠的单点登录解决方法(属于 web sso). 主要特 ...
- js 两个滚动事件相互影响
document.addEventListener('scroll', function(event) { if (event.target.id === 't_r_content') { // or ...
- sharepoint 2013 入门1_ 建立一个网页程序
步骤: 1.新建项目. 2.项目到office/sharepoint 解决方案=>sharepoint2013 空项目 3.sharepoint 自定义向导(电脑必须要装sharepoint 不 ...