Swagger在WebAPI下的使用

前段时间想对所做的WebAPI加入文档功能,方便调用接口的同事查阅,上网了解到Swagger,在学习使用Swagger的时候,网上资料算是比较多,但个人认为能够详细说明白的比较少,思路都有说到,但具体的就没说,或没实例说明,让初学者容易搞错(我也走了好些弯路),现把自己查阅资料,并结合个人实际使用的结果,发上来,一来供有缘人参考,二来自己也有个笔记。

环境:VS2013、.NET Framework 4、Swagger5.5.3

一、新建WebAPI项目,利用NuGet安装Swagger

网上有人说要安装Swashbuckle和Swagger UI for .NET,可能是Swashbuckle的版本升级了,我后来发现只安装Swashbuckle即可

二、设置项目生成XML文档的位置

三、Swagger安装好后在App_Start下有SwaggerConfig.cs,修改它,设置读取项目的XML文档

到此,Swagger已可正常工作了,启动项目,在浏览器地址后加/Swagger,即可看到生成效果

Swagger的扩展(此功能参考整合网上的资料得出,如果相应网友有所冒犯,敬请原谅)

1、美化及汉化

新建一SwaggerExt文件夹,增加Swagger样式、脚本两个文件(具体看Demo),并都设置为嵌入的资源

修改SwaggerConfig.cs文件

启动项目,即可看到效果

二、增加控制器说明

增加CachingSwaggerProvider.cs文件,内容见Demo

修改SwaggerConfig.cs文件

启动效果

如果能把这个说明放左边,接着控制器名称,那就更好了,但我没找到办法,如果有网友有办法,麻烦转告一下

三、隐藏某接口说明

增加HiddenApiFilter.cs,内容见Demo

修改SwaggerConfig.cs文件

对要隐藏的接口加入[HiddenApi]

启动效果

到此,基本上对Swagger的使用已差不多了,附上我Demo的代码

如有对Swagger使用心得上有更好见解的,请转告一下

时间: 2024-08-08 09:38:42

Swagger在WebAPI下的使用的相关文章

PCB DotNetCore Swagger生成WebAPI文档配置方法

在.net framework框架下可以使用WebApiTestClientWebApi生成WebAPI接口文档与方便接口测试用,而在DotnetCore却没有找到这个工具了,baidu查找一下发现有一个相类似的工具,它就是Swagger,和使用WebApiTestClientWebApi差不多的,这里Swagger配置过程整理如下:   一.下载Swashbuckle.AspNetCore NuGet下载安装Swashbuckle.AspNetCore   二.Startup.cs代码修改 1

在.Net Core WebAPI下给Swagger增加导出离线文档功能

一丶前言 最近刚接触到Swagger,在github上下载了它的源码和demo学习了一遍,发现这个组件非常好用,不过不足的是它没有导出离线文档的功能,于是乎我就想给它加一个导出功能 Swagger Github开源地址 二丶思路 其实说白了api文档就是一个html静态页面,html可以转word或者pdf,那问题就变简单了. 1.想办法拿到swagger生成的api接口json数据. 2.将json转化为html. 3.将html转换成word或者pdf等文件. 三丶实现 1.首先我们要解决第

使用Swagger制作WebApi的接口

首先,创建一个空的WebApi项目 之后,创建Controller,然后继承ApiController 之后呢,我们需要写个方法,当然,都是有返回值的,不能用return View()啥的(毕竟是返回数据用的接口) 然后,我们需要引用NuGet里头的 Swashbuckle.swagger.Net.UI 注:引用完 Swashbuckle,会在App_Start里头生成一个 SwaggerConfig(用来配置Swagger参数的,强烈建议使用稳定版本的,我用了一下最新预发行版,结果没生成这个文

Swagger生成WebAPI文档

最近在做WebAPI2.0 项目,为了使用者能轻易查看API文档,因此使用Swagger进行了配置 1.打开程序包管理控制台输入: Install-Package Swashbuckle 2.在对应项目里的App_Start文件夹下的SwaggerConfig.cs文件找到: c.IncludeXmlComments 然后进行替换 c.IncludeXmlComments(GetXmlCommentsPath(thisAssembly.GetName().Name)); 3.然后再与Regist

spring-boot+swagger实现WebApi文档

1.引用依赖包 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.5.0</version> </dependency <dependency> <groupId>io.springfox</groupId> <artifact

swagger webapi控制器注释不显示

swagger是webapi文档描述及调试工具,要在asp.net mvc中使用swagger,需要安装Swashbuckle.Core这个包,安装好后会在app_start中生成SwaggerConfig.cs文件,修改Register方法在文件中指定webapi项目生成的xml文件所在路径,详细配置请参考 https://github.com/domaindrivendev/Swashbuckle using System.Web.Http; using WebActivatorEx; us

使用Swagger 搭建高可读性ASP.Net WebApi文档

一.前言 在最近一个商城项目中,使用WebApi搭建API项目.但开发过程中,前后端工程师对于沟通接口的使用,是非常耗时的.之前也有用过Swagger构建WebApi文档,但是API文档的可读性并不高.尤其是没有传入参数和传出结果的说明,导致开发人员沟通困难.在园子里看到一篇关于对Swagger优化的文章,有很大的改进.解决了传入参数,API分区域筛选等问题, 非常感谢博主简玄冰. 不过实践之后,发现还有些问题未解决: 接口返回的对象,没有汉化说明 接口授权参数(token)未统一传入 所以,决

【从零开始搭建自己的.NET Core Api框架】(一)创建项目并集成swagger:1.1 创建

既然说了是从零开始,那就从最基本的新建项目开始吧~ 新建一个ASP.NET Core Web应用程序,取名为RayPI. 这里选择API模板 生成项目之后,控制器默认生成了一个ValuesController,里面只有几个简单的RESTful风格的接口,分别对应增删改查的功能,没有涉及到数据库数据,只是给我们作为参考而已. 我们可以直接F5进入调试运行状态,结果是这样的: 到这,一个最基础.最原生的"光秃秃"的.NET Core API环境已经搭建好了,但是离我们想要的API框架还很远

Abp项目构建、swagger及代码生成器

推荐博客 1. Abp项目实践推荐参照大神角落的白板报的系列博客,比较新,并且是亲身体验. http://www.cnblogs.com/wer-ltm/p/6824716.html 2. Abp源码整体原理结构.类关系图等参看大神Hk Zhang http://www.cnblogs.com/1zhk/p/5268054.html 一.利用abp模板构建项目 1.打开官网https://aspnetboilerplate.com/Templates (2)     生成项目后会自动下载代码 二