ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

.net怎么使用Swagger

2019-09-17 14:54:58  阅读:283  来源: 互联网

标签:Swagger 调用 Swashbuckle https 使用 net swagger com


 

目录导航

一、安装

新建一个没有身份验证的mvc项目 - SwaggerMvc5Demo,然后添加一个名为Remote(自定义)且包含基础读写(不想手写)的ApiController   开源地址:https://github.com/domaindrivendev/Swashbuckle 使用以下方法来添加 Swashbuckle:
  • 从“程序包管理器控制台”窗口:Install-Package Swashbuckle -Version 5.6.0
  • 从“管理 NuGet 程序包”对话框中:
  • 右键单击“解决方案资源管理器” > “管理 NuGet 包”中的项目
  • 将“包源”设置为“nuget.org”
  • 在搜索框中输入“Swashbuckle”
  • 从“浏览”选项卡中选择“Swashbuckle”包,然后单击“安装”
 

二、配置

1.项目属性->勾选生成xml文档文件 2.添加导航链接 在_Layout.cshtml文件中添加代码 <li>@Html.ActionLink("Swagger Help", "", "Swagger", new { area = "" }, null)</li> 3.修改SwaggerConfig.cs文件  安装完成后,在文件夹App_Start自动生成一个配置文件 swagger.config。这里可以做多版本控制,定义扩展功能,自定义显示ui的样式脚本,可以配置过滤、权限等。 例如: (1)为接口添加xml注释 string path = string.Format("{0}/bin/SwaggerMvc5Demo.XML", System.AppDomain.CurrentDomain.BaseDirectory); c.IncludeXmlComments(path); 使用前 使用后 (2)使用特性 [Obsolete] 在config中 开启 c.IgnoreObsoleteProperties();        

三、调用

1.直接调用 只要输入参数id,即可调用,非常方便 2.AutoRest AutoRest (https://github.com/Azure/AutoRest), 简单来说,就是一个EXE工具,可以根据Swagger的结构生成服务的客户端,这个客户端可以让你像调用本地方法一样调用服务,方法内部包装了Http请求。  详细教程请看 https://www.cnblogs.com/Leo_wl/p/5982882.html   扩展:ABP集成swagger http://www.cnblogs.com/wer-ltm/p/5776024.html    

四、错误记录

swagger出现问题:not supported by swagger 2.0

一个controller中只能有一个HttpGet请求,多了就会报错。建议减少重载方法,将其他Get方法分开

如果在swagger.config中加上c.ResolveConflictingActions(apiDescriptions => apiDescriptions.FirstOrDefault());则会只显示第一个get方法 

原文:https://blog.csdn.net/jin80506/article/details/77737470

标签:Swagger,调用,Swashbuckle,https,使用,net,swagger,com
来源: https://www.cnblogs.com/txlit/p/11533676.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有