以下为教程:

在现有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相关推荐

  1. ASP.NET Web API 使用Swagger生成在线帮助测试文档

    ASP.NET Web API 使用Swagger生成在线帮助测试文档 Swagger-UI简单而一目了然.它能够纯碎的基于html+javascript实现,只要稍微整合一下便能成为方便的API在线 ...

  2. SpringBoot集成swagger生成在线接口文档

    SpringBoot集成swagger生成在线接口文档 集成maven依赖 <dependency><groupId>io.springfox</groupId>& ...

  3. ASP.NET Web API自身对CORS的支持:从实例开始

    在<通过扩展让ASP.NET Web API支持W3C的CORS规范>中我们通过自定义的HttpMessageHandler为ASP.NET Web API赋予了跨域资源共享的能力,具体来 ...

  4. Swagger+Spring mvc生成Restful接口文档

    2019独角兽企业重金招聘Python工程师标准>>> Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务.总体目标是使客户端 ...

  5. ASP.NET Core WebApi使用Swagger生成api说明文档看这篇就够了

    引言 在使用asp.net core 进行api开发完成后,书写api说明文档对于程序员来说想必是件很痛苦的事情吧,但文档又必须写,而且文档的格式如果没有具体要求的话,最终完成的文档则完全取决于开发者 ...

  6. 生成用于ASP.NET Web API的C#客户端API

    目录 介绍 主要特征 主要好处 背景 推定(Presumptions) 使用代码 步骤0:将NuGet软件包WebApiClientGen安装到Web MVC/API项目 步骤1:建立.NET Cli ...

  7. 【转】ASP.NET Core WebApi使用Swagger生成api说明文档看这篇就够了

    原文链接:https://www.cnblogs.com/yilezhu/p/9241261.html 引言 在使用asp.net core 进行api开发完成后,书写api说明文档对于程序员来说想必 ...

  8. 生成用于ASP.NET Web API的TypeScript客户端API

    目录 介绍 备注 背景 推定(Presumptions) 使用代码 步骤0:将NuGet package WebApiClientGen和WebApiClientGen.jQuery安装到Web AP ...

  9. WCF 和 ASP.NET Web API

    地址:https://docs.microsoft.com/zh-cn/dotnet/framework/wcf/wcf-and-aspnet-web-api WCF 是 Microsoft 为生成面 ...

最新文章

  1. Velocity 入门(一)
  2. 论文合集 | 李飞飞新论文:深度学习代码搜索综述;Adobe用GAN生成动画(附地址)...
  3. 找到一款牛B的vim插件
  4. 学习笔记之-php编码技巧
  5. spring原始注解(value)-03
  6. JDBC链接MySQL和Oracle
  7. 使用SonarCloud对.NET Core项目进行静态代码分析
  8. NodeJs express自定义中间件
  9. 【华为推荐】基于反事实学习的推荐系统研究.pdf(附pdf下载链接)
  10. linux文件系统命令
  11. 已解决——pycharm在同目录下import,pycharm会提示错误,但是可以运行
  12. 摸鱼一年半,我终于摸出了一篇顶会论文
  13. Hibernate 与触发器协同工作
  14. java map 容器_java容器-map的常用实现及原理
  15. Java线程何时放弃CPU时间片
  16. 嵌入式系统——ADS和AXD的基本操作
  17. easyphp(xctf)
  18. php 如何添加备案号,wordpress如何添加备案信息
  19. 【yum】Peer cert cannot be verified or peer cert invalid
  20. Event Handing guide for iOS

热门文章

  1. 深入学习linux socket编程之select
  2. 语义化版本控制规范(SemVer)
  3. 使用mybatis操作AS400数据库
  4. 关于onclick点击无效问题
  5. 转载:Java编程风格与命名规范整理
  6. 免费开通二级域名的论坛
  7. [剑指offer][JAVA][面试题56 - I][第260题][位运算][HashSet]
  8. gdal 压缩tif_Python | GDAL处理影像
  9. 客户端配置_交换机作为STelnet客户端登录其他设备配置示例
  10. python变量生命周期_python 变量定义及变量生命周期