.net怎么使用Swagger
2024-10-18 22:29:27
一、安装
新建一个没有身份验证的mvc项目 - SwaggerMvc5Demo,然后添加一个名为Remote(自定义)且包含基础读写(不想手写)的ApiController
使用以下方法来添加 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请求。
扩展:ABP集成swagger
四、错误记录
swagger出现问题:not supported by swagger 2.0
一个controller中只能有一个HttpGet请求,多了就会报错。建议减少重载方法,将其他Get方法分开
如果在swagger.config中加上c.ResolveConflictingActions(apiDescriptions => apiDescriptions.FirstOrDefault());则会只显示第一个get方法
最新文章
- mysql索引总结----mysql 索引类型以及创建
- <;<;<; Js中实现对字符串的截取
- node-webkit 桌面开发 初入1
- web前端面试题总结
- WPF-非矩形窗口的创建
- linux 下vim的使用
- android中Handle类的用法
- React表单元素的使用
- Model First:创建实体数据模型(ADO.NET 实体数据模型)
- JS选中OPTION
- C#关于编码、解码相关问题
- Intellij IDEA 导入Eclipse或MyEclipse的Web项目(旧版 转载)
- HDU 1870 愚人节的礼物
- 关于Python2字符编码的体会
- 实例理解mapreduce任务的串行运行过程
- 解决Cell重用内容混乱的几种简单方法,有些方法会增加内存
- Finance API文档
- windows下更换pip源
- 以字符串形式获取excel单元格中的内容
- SpringMVC RedirectView的使用以及源码分析