【转】ASP.NET Web API 使用Swagger生成在线帮助测试文档,支持多个GET
以下为教程:
在现有webapi项目中,nuget安装以下两个插件
swagger.net.ui
swashbuckle
安装完毕后可以卸载Swagger.NET,此处不需要!
安装完毕后屏蔽以下代码
直接运行调试
在浏览器的目录后面加上/swagger即可跳转到swagger调试页
此时如果没有注释.
项目属性里添加xml注释的生成
修改App_Start下的SwaggerConfig.cs文件
添加如下代码
GlobalConfiguration.Configuration.EnableSwagger(c =>{c.IncludeXmlComments(GetXmlCommentsPath()); ...... }
protected static string GetXmlCommentsPath(){return System.String.Format(@"{0}\bin\你的xml文件名.XML", System.AppDomain.CurrentDomain.BaseDirectory);}
此时重新生成浏览可以获取正确的注释并调试了.
异常解决
报错
webapi 配置swagger出现问题:
Swagger Not supported by Swagger 2.0: Multiple operations with path 解决方法
一个controller中只能有一个HttpGet请求,多了就会报错。建议减少重载方法,将其他Get方法分开
如果在swagger.config中加上c.ResolveConflictingActions(apiDescriptions => apiDescriptions.First());则会只显示第一个get方法
加了上面的方法后,get可能会只显示一条记录
WebAPI 默认只支持一个get方法,支持多个Get需要修改
RouteConfig文件
routes.MapRoute(name: "Default",url: "{controller}/{action}/{id}",defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional });
因此,需要对swagger.net也添加相应的支持.(无效)
public static void RegisterRoutes(RouteCollection routes){routes.IgnoreRoute("{resource}.axd/{*pathInfo}");RouteTable.Routes.MapHttpRoute(name: "SwaggerApi",routeTemplate: "api/docs/{controller}/{action}",defaults: new { swagger = true });routes.MapRoute(name: "Default",url: "{controller}/{action}/{id}",defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional });}
以上,均非有效解决办法,正确的办法入戏:
config.Routes.MapHttpRoute(name: "DefaultApi",// routeTemplate: "api/{controller}/{id}",routeTemplate: "api/{controller}/{action}/{id}",//defaults: new { id = RouteParameter.Optional }defaults: new { controller = "Home", action = "Index", id = RouteParameter.Optional });
完成
异常3
fetching resource list: http://localhost:8011/swagger/docs/v1; Please wait.
一直显示这个界面
只返回Json Result的content negotiation代替Web Api中默认的content negotiation造成的.
WebApiConfig中,行:
config.Services.Replace(typeof(IContentNegotiator), new JsonContentNegotiator(jsonFormatter));
临时屏蔽即可
【转】ASP.NET Web API 使用Swagger生成在线帮助测试文档,支持多个GET相关推荐
- ASP.NET Web API 使用Swagger生成在线帮助测试文档
ASP.NET Web API 使用Swagger生成在线帮助测试文档 Swagger-UI简单而一目了然.它能够纯碎的基于html+javascript实现,只要稍微整合一下便能成为方便的API在线 ...
- SpringBoot集成swagger生成在线接口文档
SpringBoot集成swagger生成在线接口文档 集成maven依赖 <dependency><groupId>io.springfox</groupId>& ...
- ASP.NET Web API自身对CORS的支持:从实例开始
在<通过扩展让ASP.NET Web API支持W3C的CORS规范>中我们通过自定义的HttpMessageHandler为ASP.NET Web API赋予了跨域资源共享的能力,具体来 ...
- Swagger+Spring mvc生成Restful接口文档
2019独角兽企业重金招聘Python工程师标准>>> Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务.总体目标是使客户端 ...
- ASP.NET Core WebApi使用Swagger生成api说明文档看这篇就够了
引言 在使用asp.net core 进行api开发完成后,书写api说明文档对于程序员来说想必是件很痛苦的事情吧,但文档又必须写,而且文档的格式如果没有具体要求的话,最终完成的文档则完全取决于开发者 ...
- 生成用于ASP.NET Web API的C#客户端API
目录 介绍 主要特征 主要好处 背景 推定(Presumptions) 使用代码 步骤0:将NuGet软件包WebApiClientGen安装到Web MVC/API项目 步骤1:建立.NET Cli ...
- 【转】ASP.NET Core WebApi使用Swagger生成api说明文档看这篇就够了
原文链接:https://www.cnblogs.com/yilezhu/p/9241261.html 引言 在使用asp.net core 进行api开发完成后,书写api说明文档对于程序员来说想必 ...
- 生成用于ASP.NET Web API的TypeScript客户端API
目录 介绍 备注 背景 推定(Presumptions) 使用代码 步骤0:将NuGet package WebApiClientGen和WebApiClientGen.jQuery安装到Web AP ...
- WCF 和 ASP.NET Web API
地址:https://docs.microsoft.com/zh-cn/dotnet/framework/wcf/wcf-and-aspnet-web-api WCF 是 Microsoft 为生成面 ...
最新文章
- Velocity 入门(一)
- 论文合集 | 李飞飞新论文:深度学习代码搜索综述;Adobe用GAN生成动画(附地址)...
- 找到一款牛B的vim插件
- 学习笔记之-php编码技巧
- spring原始注解(value)-03
- JDBC链接MySQL和Oracle
- 使用SonarCloud对.NET Core项目进行静态代码分析
- NodeJs express自定义中间件
- 【华为推荐】基于反事实学习的推荐系统研究.pdf(附pdf下载链接)
- linux文件系统命令
- 已解决——pycharm在同目录下import,pycharm会提示错误,但是可以运行
- 摸鱼一年半,我终于摸出了一篇顶会论文
- Hibernate 与触发器协同工作
- java map 容器_java容器-map的常用实现及原理
- Java线程何时放弃CPU时间片
- 嵌入式系统——ADS和AXD的基本操作
- easyphp(xctf)
- php 如何添加备案号,wordpress如何添加备案信息
- 【yum】Peer cert cannot be verified or peer cert invalid
- Event Handing guide for iOS
热门文章
- 深入学习linux socket编程之select
- 语义化版本控制规范(SemVer)
- 使用mybatis操作AS400数据库
- 关于onclick点击无效问题
- 转载:Java编程风格与命名规范整理
- 免费开通二级域名的论坛
- [剑指offer][JAVA][面试题56 - I][第260题][位运算][HashSet]
- gdal 压缩tif_Python | GDAL处理影像
- 客户端配置_交换机作为STelnet客户端登录其他设备配置示例
- python变量生命周期_python 变量定义及变量生命周期