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取数 ...
随机推荐
- iOS让软键盘消失的简单方法
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 一些文本输入控件等待输入时会弹出软键盘,我们可以设置这些控件的 ...
- Java基础---集合框架---迭代器、ListIterator、Vector中枚举、LinkedList、ArrayList、HashSet、TreeSet、二叉树、Comparator
为什么出现集合类? 面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,就对对象进行存储,集合就是存储对象最常用的一种方式. 数组和集合类同是容器,有何不同? 数组虽然也可以存储对 ...
- 后端分布式系列:分布式存储-HDFS 架构解析
本文以 Hadoop 提供的分布式文件系统(HDFS)为例来进一步展开解析分布式存储服务架构设计的要点. 架构目标 任何一种软件框架或服务都是为了解决特定问题而产生的.还记得我们在 <分布式存储 ...
- (NO.00004)iOS实现打砖块游戏(七):关卡类的实现
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 关卡游戏的精髓都集中在游戏的关卡里,其中包含了游戏的所有要素,至 ...
- Android的ImageSwitcher和TextSw-android学习之旅(三十四)
ImageSwitcher简介 ImageSwitcher继承了ViewSwitcher,所以在切换时候会有动画,可以把它理解成一个动画版本的ImageView. 他的showNext(),和show ...
- DB2数据库常用命令
--创建数据库 CREATE DATABASE example AUTOMATIC STORAGE YES --自动存储 ON 'D:\' DBPATH ON'D:\' --指定数据库控制文件的存储路 ...
- Mac下关于->您不能拷贝项目“”,因为它的名称太长或包括的字符在目的宗卷上无效。<-的删除
打开 Terminal 应用程序. 键入: sudo rm -rf注意:在"-rf"后键入一个空格.没有空格该命令将不能执行.在步骤 6 之前请不要按下 Return 键. 打开您 ...
- Android 有关于* daemon not running.starting it now on port 5037 *ADB
adb shell时出现以下信息: * daemon not running. starting it now on port5037 * ADB server didn't ACK * fail ...
- C#神器 委托 + Unity神器 协程
作为源生的C#程序员,可能已经非常了解委托(delegate).行动(Action)以及C#的事件了,不过作为一个半道转C#的程序员而言,这些东西可能还是有些陌生的,虽然委托并非是C#独创,亦非是首创 ...
- 版本控制之最佳实践(Git版)
现如今,应该每个开发者都在使用版本控制工具了吧.然而,如果你理解版本控制的基本规则,你便能更好地发挥它的效用.在此,我们汇总了一些最佳实践,希望你在使用Git做版本控制时能够了然于心.得心应手. 1. ...