IT轮子系列(二)——mvc API 说明文档的自动生成——Swagger的使用(一)
这篇文章主要介绍如何使用Swashbuckle插件在VS 2013中自动生成MVC API项目的说明文档。为了更好说明的swagger生成,我们从新建一个空API项目开始。
第一步、新建mvc api 项目
右键解决方案—>添加/新建项目,如下图:
然后,选择API项目模版,下图所示:
至此,我们的空项目已经创建完成。
第二步、添加插件Swashbuckle的引用
在添加引用包前,我们先看看空api项目一些基本组成,主要关注APP_Start文件夹的内容,下图所示:
‘’
我们可以清楚的看到,在APP_Start文件下新建的API项目只有四个文件。
接下来,我们引用Swashbuckle插件。
右键项目/管理NeGut 程序包,打开程序包管理界面,选择 联机搜索Swashbuckle 插件。如下图:
然后,点击 安装。
当安装完成的时候,我们会发现在APP_Start 文件下多出了一个文件SwaggerConfig.cs 。下图所示:
至此,Swashbuckle 插件已经成功引入到我们的项目当中。
第三步、Swashbuckle 插件的实战使用
在HomeController 中,添加如下跳转语句:
点击F5,运行项目,我们就在浏览器中看到如下界面:
至此说明,Swashbuckle 插件的配置已完成。
第四步、如何添加接口、数据模型的说明
首先,右键项目/属性->生成,勾选XML文档文件->保存,如下图:
其次,配置SwaggerConfig.cs 文件,如下代码所示:
在自动生成的这个配置文件中,还有很多英文说明,为了页面更简洁,已删掉。大家在在实际项目中,可按说明配置。
using System.Web.Http;
using WebActivatorEx;
using ITWheels.Swagger;
using Swashbuckle.Application; [assembly: PreApplicationStartMethod(typeof(SwaggerConfig), "Register")] namespace ITWheels.Swagger
{
public class SwaggerConfig
{
public static void Register()
{
var thisAssembly = typeof(SwaggerConfig).Assembly; GlobalConfiguration.Configuration
.EnableSwagger(c =>
{
c.SingleApiVersion("v1", "ITWheels.Swagger"); /*包含注释说明
* 如果要包含多个xml文件,可参照GetXmlCommentsPath 方法。
* 写多个c.IncludeXmlComments
*/
c.IncludeXmlComments(GetXmlCommentsPath(thisAssembly.GetName().Name)); })
.EnableSwaggerUi(c =>
{ });
} private static string GetXmlCommentsPath(string name)
{
//获取项目dll 所在的bin目录
string xmlName = string.Format(@"{0}\bin\{1}.XML",System.AppDomain.CurrentDomain.BaseDirectory,name);
return xmlName;
}
}
}
最后,在我们的接口中添加注释。
点击F5,运行项目,我们将会看到如下界面,注释说明已经出现在文档中,如下图:
至此,Swashbuckle 插件基本使用已经大功告成拉,下篇,将给大家介绍下,稍进一步的应用。晚安 2017-10-21 22:39:37
IT轮子系列(二)——mvc API 说明文档的自动生成——Swagger的使用(一)的更多相关文章
- 如何制作dll库的API文档,自动生成微软风格的chm文件 Sandcastle Help File Builder 使用方法
当你开发了一个库的时候,就需要给库开发一个api文档,微软提供了一个C#库的自动生成工具.我在使用的过程中记录了相关的信息,以供大家学习和查阅,如有不正之处,欢迎指出. 首先先下载一个软件,下载地址在 ...
- .NET Core WebApi帮助文档使用Swagger生成Api说明文档
Swagger也称为Open API,Swagger从API文档中手动完成工作,并提供一系列用于生成,可视化和维护API文档的解决方案.简单的说就是一款让你更好的书写API文档的框架. 我们为什么选择 ...
- Asp.Net Core Web Api 使用 Swagger 生成 api 说明文档
最近使用 Asp.Net Core Web Api 开发项目服务端.Swagger 是最受欢迎的 REST APIs 文档生成工具之一,进入我的视野.以下为学习应用情况的整理. 一.Swagger 介 ...
- ASP.NET Core WebApi使用Swagger生成api说明文档看这篇就够了
引言 在使用asp.net core 进行api开发完成后,书写api说明文档对于程序员来说想必是件很痛苦的事情吧,但文档又必须写,而且文档的格式如果没有具体要求的话,最终完成的文档则完全取决于开发者 ...
- ASP.NET Core WebApi使用Swagger生成api说明文档
1. Swagger是什么? Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务.总体目标是使客户端和文件系统作为服务器以同样的速度来更新.文件 ...
- 《暗黑世界V1.4》API说明文档
<暗黑世界V1.4>API说明文档 阵法位置示意图 上方: 下方: 账号注册 100 请求信息 { username str ...
- 【转】ASP.NET Core WebApi使用Swagger生成api说明文档看这篇就够了
原文链接:https://www.cnblogs.com/yilezhu/p/9241261.html 引言 在使用asp.net core 进行api开发完成后,书写api说明文档对于程序员来说想必 ...
- NetCore 3.0 中使用Swagger生成Api说明文档及升级报错原因
认识Swagger Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务.总体目标是使客户端和文件系统作为服务器以同样的速度来更新.文件的方法,参 ...
- 使用swagger生成API说明文档
使用swagger生成API说明文档本文由个人总结,如需转载使用请标明原著及原文地址没有导出!!!!!不要整天给我留言导出呢,那个是你们百度的时候下面的推荐文章带的关键字,要做导出从swagger取数 ...
随机推荐
- 与音频相关的技术知识点总结(Linux方向的开发)
几个术语和概念: 1. 关于PCM的 PCM是Pulse code modulation的缩写,它是对波形最直接的编码方式.它在音频中的地位可能和BMP在图片中的地位有点类似吧. Samp ...
- 最简单的基于librtmp的示例:接收(RTMP保存为FLV)
===================================================== 最简单的基于libRTMP的示例系列文章列表: 最简单的基于librtmp的示例:接收(RT ...
- 一个简单的安卓+Servlet图片上传例子
例子比较 简单,服务端为Java Web Servlet,doPost方法中接收图片并保存,然后将保存的图片名返回给客户端,关键代码: @SuppressWarnings("deprecat ...
- (NO.00005)iOS实现炸弹人游戏(六):游戏数据的初始化(三)
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 现在我们来看看实际初始化地图的randomCreateMap方法 ...
- 8.非关系型数据库(Nosql)之mongodb的应用场景
测试脚本: Mysql测试脚本: [php] view plaincopyprint? 1. <?php 2. header("Content-Type:text/html; ...
- Ubuntu15.10下如何使用EasyGui模块开发Python GUI
偶然的一个机会,发现了github上的这个开源的项目,easygui for python(一个基于TKinter的模块) 感觉很是惊讶,原来python也可以这么简单的开发出一些GUI界面(究其原因 ...
- Linux 进程调度小结
概述 这个问题又是面试常问问题,当时听到感觉太宽泛了,有点大,心里知道但是说不全,这里做一下总结 [1]进程调度的作用 [2]调度德策略 1. 进程调度的作用 ,进程调度就是对进程进行调度,即负责选择 ...
- UNIX环境高级编程——标准I/O库缓冲区和内核缓冲区的区别
1.C标准库的I/O缓冲区 UNIX的传统 是Everything is a file,键盘.显示器.串口.磁盘等设备在/dev 目录下都有一个特殊的设备文件与之对应,这些设备文件也可 ...
- Android官方技术文档翻译——Gradle 插件用户指南(7)
本文译自Android官方技术文档<Gradle Plugin User Guide>,原文地址:http://tools.android.com/tech-docs/new-build- ...
- 【UML 建模】UML入门 之 交互图 -- 时序图 协作图详解
. 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/17927131 . 动态图概念 : 从静态图中抽取瞬间值 ...