Webapi文档描述-swagger优化
一、前言
最近做的项目使用WebApi,采取前后端分离的方式,后台提供API接口给前端开发人员。这个过程中遇到一个问题后台开发人员怎么提供接口说明文档给前端开发人员,最初打算使用word、Xmind思维导图方式进行交流,实际操作中却很少动手去写。为了解决这个问题,特意在博客园搜索了一下api接口文档生成的文章,引起我注意的有以下两种方案。
- 微软自带的
Microsoft.AspNet.WebApi.HelpPage Swagger(丝袜哥)
但是在使用过程中微软自带的没有Swagger直观,因此采用了第二种方案Swagger。
二、问题
在使用swagger的过程中,产生了一些小问题,例如:汉化、查询、控制器备注。
在博客园当中找到了相关的解决方式,但是汉化、控制器备注会产生二次请求的问题,尤其在接口比较多的情况下,还是比较慢的。因此产生了修改swagger-ui和Swashbuckle源码的念头。
三、效果图
3.1 汉化效果


3.2 控制器注释以及接口数量统计

3.3 查询

四、如何使用
4.1 创建Webapi项目解决方案
4.2 引用SwashbuckleEx nuget包
SwashbuckleEx和SwashbuckleEx.Core这两个包

4.3 添加接口注释
完成上面2部运行项目,可以看到接口描述已经生成,浏览地址http://xxxx/swagger。但是没有接口的注释,下面添加接口注释。
4.3.1 项目属性->勾选生成xml文档文件
注:如果实体与Api库分开,那么需要在实体库也勾选上生成xml文件,并设置文件名称(默认名称即可)。

4.3.2 修改SwaggerConfig.cs文件
c.SingleApiVersion("v1", "xxx");
c.IncludeXmlComments(string.Format("{0}/bin/xxx.Api.XML", AppDomain.CurrentDomain.BaseDirectory));

给接口添加注释,即可看到参数与方法描述了。
4.3.3 配置Web.config文件
有园友提出使用Nuget包后,展示是空的,因此看了下,需要配置一下以下的内容即可。
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
<remove name="WebDAVModule" />
</modules>
</system.webServer>

五、源码地址
Github:https://github.com/jianxuanbing/SwashbuckleEx.git
六、总结
修改Swashbuckle源码过程中,踩的坑还是比较多的,这个后续开一篇文章进行说明实现上述的功能。
有了汉化、控制器注释、接口数量统计、查询,加快的前后端开发的对接。
七、参考
Webapi文档描述-swagger优化的更多相关文章
- webapi文档描述-swagger
最近做的项目使用mvc+webapi,采取前后端分离的方式,后台提供API接口给前端开发人员.这个过程中遇到一个问题后台开发人员怎么提供接口说明文档给前端开发人员,最初打算使用word文档方式进行交流 ...
- 使用Swagger 搭建高可读性ASP.Net WebApi文档
一.前言 在最近一个商城项目中,使用WebApi搭建API项目.但开发过程中,前后端工程师对于沟通接口的使用,是非常耗时的.之前也有用过Swagger构建WebApi文档,但是API文档的可读性并不高 ...
- webapi文档
webapi文档描述-swagger 最近做的项目使用mvc+webapi,采取前后端分离的方式,后台提供API接口给前端开发人员.这个过程中遇到一个问题后台开发人员怎么提供接口说明文档给前端开发人员 ...
- ASP.NET WebApi 文档Swagger深度优化
本文版权归博客园和作者吴双本人共同所有,转载和爬虫请注明博客园蜗牛原文地址,cnblogs.com/tdws 写在前面 请原谅我这个标题党,写到了第100篇随笔,说是深度优化,其实也并没有什么深度 ...
- ASP.NET WebApi 文档Swagger中度优化
本文版权归博客园和作者吴双本人共同所有,转载和爬虫请注明原文地址:www.cnblogs.com/tdws 写在前面 在后台接口开发中,接口文档是必不可少的.在复杂的业务当中和多人对接的情况下,简 ...
- webapi+swagger ui 文档描述
代码:GitHub swagger ui在我们的.NET CORE和.NET Framework中的展现形式是不一样的,如果有了解的,在.NET CORE中的是比.NET Framework好的.两张 ...
- WebApi 文档Swagger
NET WebApi 文档Swagger中度优化 本文版权归博客园和作者吴双本人共同所有,转载和爬虫请注明原文地址:www.cnblogs.com/tdws 写在前面 在后台接口开发中,接口文 ...
- .NET Core WebApi帮助文档使用Swagger生成Api说明文档
Swagger也称为Open API,Swagger从API文档中手动完成工作,并提供一系列用于生成,可视化和维护API文档的解决方案.简单的说就是一款让你更好的书写API文档的框架. 我们为什么选择 ...
- PCB DotNetCore Swagger生成WebAPI文档配置方法
在.net framework框架下可以使用WebApiTestClientWebApi生成WebAPI接口文档与方便接口测试用,而在DotnetCore却没有找到这个工具了,baidu查找一下发现有 ...
随机推荐
- Android开发随手记
本文是作者在Android开发实践中的随手速记,记录一些小问题的解决方案和注意事项,持续更新. 以下是速记内容,若有不严谨的地方,望小伙伴们指出. 1.Module 不生成R文件,可尝试取消对该Mod ...
- 最新的极光推送服务器端代码(java服务器后台向手机端自定义推送消息)
一共两个类 一个Jdpush 一个JpushClientUtil 代码如下 注解都写的很清楚 package com.sm.common.ajpush; import org.slf4j.Log ...
- JSON详细总结
/** * Created by fa on 2016/3/15. */ var data = { name:"hello", children:[{ name:"chi ...
- Lniux下安装mysql----编译版
####安装mysql-5.7.10rpm -e --nodeps mysqlrpm -e mysqlclient10useradd -g mysql -s /sbin/nologininstall_ ...
- 安装GPU版本的tensorflow填过的那些坑!---CUDA说再见!
那些坑,那些说不出的痛! --------回首安装的过程,真的是填了一个坑又出现了一坑的感觉.记录下了算是自己的笔记也能给需要的人提供一点帮助. 1 写在前面的话 其实在装GPU版本的tensorfl ...
- 利用libcurl进行post
逛百度知道看到有个人提问:http://zhidao.baidu.com/question/1447092283140740700 C写HTTP应用只有疯子才会老老实实的SOCKET编程吧?我后来还是 ...
- haproxy+tomcat集群搭建
web1和web2的部署可参考我之前的文章<Tomcat集群搭建>,这里就省去该过程了. #安装haproxy- .tar.gz cd haproxy-/ make TARGET=linu ...
- Elasticsearch学习随笔(二)-- Index 和 Doc 查询新建API总结
本文着重总结Elasticsearch的常见API了,进行分析. Index API 初始化Index,设置shards和replica PUT http://localhost:9200/firew ...
- 对称加密详解,以及JAVA简单实现
(原) 常用的加密有3种 1.正向加密,如MD5,加密后密文固定,目前还没办法破解,但是可以能过数据库撞库有一定概率找到,不过现在一般用这种方式加密都会加上盐值. 2.对称加密,通过一个固定的对称密钥 ...
- anaconda 下多版本Python 安装说明
网上针对多版本的Python兼容安装的文章逐渐增多,都是大家在实践中总结的经验.本人的安装经过几次的反复实验还是觉得其中一种更为方便. 有人的安装方法是: 1. 先安装一个版本的python(一般先安 ...