这篇文章主要介绍如何使用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的使用(一)的更多相关文章

  1. 如何制作dll库的API文档,自动生成微软风格的chm文件 Sandcastle Help File Builder 使用方法

    当你开发了一个库的时候,就需要给库开发一个api文档,微软提供了一个C#库的自动生成工具.我在使用的过程中记录了相关的信息,以供大家学习和查阅,如有不正之处,欢迎指出. 首先先下载一个软件,下载地址在 ...

  2. .NET Core WebApi帮助文档使用Swagger生成Api说明文档

    Swagger也称为Open API,Swagger从API文档中手动完成工作,并提供一系列用于生成,可视化和维护API文档的解决方案.简单的说就是一款让你更好的书写API文档的框架. 我们为什么选择 ...

  3. Asp.Net Core Web Api 使用 Swagger 生成 api 说明文档

    最近使用 Asp.Net Core Web Api 开发项目服务端.Swagger 是最受欢迎的 REST APIs 文档生成工具之一,进入我的视野.以下为学习应用情况的整理. 一.Swagger 介 ...

  4. ASP.NET Core WebApi使用Swagger生成api说明文档看这篇就够了

    引言 在使用asp.net core 进行api开发完成后,书写api说明文档对于程序员来说想必是件很痛苦的事情吧,但文档又必须写,而且文档的格式如果没有具体要求的话,最终完成的文档则完全取决于开发者 ...

  5. ASP.NET Core WebApi使用Swagger生成api说明文档

    1. Swagger是什么? Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务.总体目标是使客户端和文件系统作为服务器以同样的速度来更新.文件 ...

  6. 《暗黑世界V1.4》API说明文档

    <暗黑世界V1.4>API说明文档 阵法位置示意图 上方:                        下方:      账号注册   100 请求信息 { username   str ...

  7. 【转】ASP.NET Core WebApi使用Swagger生成api说明文档看这篇就够了

    原文链接:https://www.cnblogs.com/yilezhu/p/9241261.html 引言 在使用asp.net core 进行api开发完成后,书写api说明文档对于程序员来说想必 ...

  8. NetCore 3.0 中使用Swagger生成Api说明文档及升级报错原因

    认识Swagger Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务.总体目标是使客户端和文件系统作为服务器以同样的速度来更新.文件的方法,参 ...

  9. 使用swagger生成API说明文档

    使用swagger生成API说明文档本文由个人总结,如需转载使用请标明原著及原文地址没有导出!!!!!不要整天给我留言导出呢,那个是你们百度的时候下面的推荐文章带的关键字,要做导出从swagger取数 ...

随机推荐

  1. 05 Android强制设置横屏或竖屏/全屏

    全屏 在Activity的onCreate方法中的setContentView(myview)调用之前添加下面代码 requestWindowFeature(Window.FEATURE_NO_TIT ...

  2. 【java集合框架源码剖析系列】java源码剖析之HashMap

    前言:之所以打算写java集合框架源码剖析系列博客是因为自己反思了一下阿里内推一面的失败(估计没过,因为写此博客已距阿里巴巴一面一个星期),当时面试完之后感觉自己回答的挺好的,而且据面试官最后说的这几 ...

  3. 解决android 大图OOM的两种方法

    最近做程序中,需要用到一张大图.这张图片是2880*2180大小的,在我开发所用的华为3C手机上显示没有问题,但是给米3装的时候,一打开马上报OOM错误.给nexus5装,则是图片无法出来,DDMS中 ...

  4. SDL2源代码分析2:窗口(SDL_Window)

    ===================================================== SDL源代码分析系列文章列表: SDL2源代码分析1:初始化(SDL_Init()) SDL ...

  5. 判断无向图是否有环路的方法 -并查集 -BFS

    可以利用并查集或者带颜色标记的BFS(来自算法导论)判断. 首先介绍第一种,用并查集来判断: 首先初始化所有元素的根为-1,-1代表根节点,接下来对于图中的每一条边(v1,v2)都并入集合,并入的方式 ...

  6. Java学习从菜鸟变大鸟之一 hashCode()和equals()的本质区别和联系

    在学习java,根据视频做实例的过程中,对equals和hashcode两个方法理解稍微深刻一点,主要是它们两个很容易混淆,容易出错,自己又通过网上的资料学习,和大家分享 equals()方法 equ ...

  7. CUDA学习,使用shared memory实现Reverse Array

  8. ubuntu14下mysql忘记密码的处理

    ubuntu14下mysql忘记密码的处理 ubuntu14.04忘记了mysql的用户(root)的密码.接下来: 1) 停止mysql服务 $ sudo stop mysql 2) 启动mysql ...

  9. Linux Debugging(三): C++函数调用的参数传递方法总结(通过gdb+反汇编)

    上一篇文章<Linux Debugging:使用反汇编理解C++程序函数调用栈>没想到能得到那么多人的喜爱,因为那篇文章是以32位的C++普通函数(非类成员函数)为例子写的,因此只是一个特 ...

  10. C# 基于密码的身份验证报错问题System.Net.NetworkCredential

    今天碰到个很奇怪的问题,在用下面这段代码调试时获取身份验证时居然报错,更奇怪的是本地VS中调试正常而在虚机上调试就报错了 ClientCredentials clientCredentials = n ...