ASP.NET Web API 文件產生器 - 使用 Swagger
转帖:http://kevintsengtw.blogspot.hk/2015/12/aspnet-web-api-swagger.html
Swagger 是一套 API 互動文件產生器,使用 HTML 與 Javascript 所編寫的,與之前所介紹的 ASP.NET Web API Help Page 不同的是,Swagger 是一套 Open Source Software,支援了現在許多的 REST API,之所以會說這是一個互動的文件,除了顯示 API 輸出入規格外,也能夠讓使用者即時的在 Swagger UI 介面上進行操作,立刻就能看到執行結果。
這一篇將會簡單說明如何在一個 ASP.NET Web API 專案裡加入 Swagger 功能。
Swagger
如果還不太曉得 Swagger 有什麼功能以及可以做什麼事情,我建議可以先到官網的 Live Demo 網站看看,看一看、點一點、操作幾個功能,應該就可以知道了,
在 ASP.NET Web API 專案裡安裝使用
那麼在 ASP.NET Web API 專案裡要怎麼使用呢?
其實可以不用那麼辛苦的從頭安裝 Swagger,已經有人開發好 NuGet 套件,只要從 NuGet 安裝到 ASP.NET Web API 專案裡,然後稍做修改就可以了,基本的安裝使用並不會太複雜,只要跟著以下的步驟作就可以了。
範例沿用前一篇「ASP.NET Web Api - Help Page」文章裡的範例,在專案裡透過 NuGet 安裝以下兩個 Packages,分別是:Swashbuckle 和 Swashbuckle.Core
裝了 Swashbuckle 就會把 Swashbuckle.Core 一併安裝進來,
安裝好 Swashbuckle 與 Swashbuckle.Core 之後,要檢查看看下面的檔案是不是有建立,
App_Start/SwaggerConfig.cs
一定要做的就是別忘了 Controller 與 Action 方法要加上 Summary
另外千萬別忘了在專案屬性裡要勾選建置時輸出「XML 文件檔案」
再來最重要的就是修改 SwaggerConfig.cs 的內容,在程式碼的第 99 行,將這一行給反註解,
不過把這一行給反註解之後卻會出現錯誤,
這是因為還沒有實作 GetXmlCommentsPath() 方法,這個方法是要提供 XML Document 檔案的路徑,這麼一來 Swagger 才能夠正確的顯示 Controller 與 Action 方法的相關資訊,
萬事具備之後就可以執行網站了,要查看 API 服務的 Swagger 文件頁面,在網址根目錄後面加上 Swagger 就可看到,例如:http://localhost:60900/Swagger
線上執行後顯示回傳結果
這一篇只是做簡單的介紹,如果你有興趣可以在進階研究 Swagger,但因為我們是開發 ASP.NET Web Api 並且是使用 Swagger for Web API - Swashbuckle,所以建議各位要進階研究的對象應該是「Swashbuckle」,其實有很多很進階的修改與設定可以玩的。
Postman 與 Swagger 的差異
- Postman 適合開發人員的統整管理,並且可以直接匯出 C# (RestSharp) 的程式,並且直接放在程式裡使用
- Swagger 適合即時開發的使用,甚至是提供給非開發人員測試使用
- 建議兩種同時使用,開發人員在開發時的測試可以使用 Swagger 馬上做測試,完成開發後可以到 Postman 之後去對系統做測試
參考連結
https://github.com/domaindrivendev/Swashbuckle
KingKong Bruce記事: ASP.NET Web API 文件產生器(2) - Swagger
ASP.NET Web API 文件產生器 - 使用 Swagger的更多相关文章
- asp.net web api 文件上传
1正确的做法 public class AvaterController : BaseApiController { [HttpPost] public async Task<IHttpActi ...
- Asp.net Web Api添加异常筛选器
一.定义一个异常筛选器 using System;using System.Collections.Generic;using System.Linq;using System.Web;using S ...
- Asp.Net Web API 2第十二课——Media Formatters媒体格式化器
前言 阅读本文之前,您也可以到Asp.Net Web API 2 系列导航进行查看 http://www.cnblogs.com/aehyok/p/3446289.html 本教程演示如何在ASP.N ...
- 【ASP.NET Web API教程】6.1 媒体格式化器
http://www.cnblogs.com/r01cn/archive/2013/05/17/3083400.html 6.1 Media Formatters6.1 媒体格式化器 本文引自:htt ...
- Asp.Net Web Api 2 实现多文件打包并下载文件示例源码_转
一篇关于Asp.Net Web Api下载文件的文章,之前我也写过类似的文章,请见:<ASP.NET(C#) Web Api通过文件流下载文件到本地实例>本文以这篇文章的基础,提供了Byt ...
- 【ASP.NET Web API教程】5.3 发送HTML表单数据:文件上传与多部分MIME
原文:[ASP.NET Web API教程]5.3 发送HTML表单数据:文件上传与多部分MIME 注:本文是[ASP.NET Web API系列教程]的一部分,如果您是第一次看本系列教程,请先看前面 ...
- ASP.NET Web API 安全筛选器
原文:https://msdn.microsoft.com/zh-cn/magazine/dn781361.aspx 身份验证和授权是应用程序安全的基础.身份验证通过验证提供的凭据来确定用户身份,而授 ...
- 既生瑜何生亮?ASP.NET MVC VS ASP.NET Web API
Asp.net MVC 与 Asp.net Web API 区别 在我们开发一些web应用时,我们一样可以在MVC Framework 中使用JsonResult 来返回JSON数据,同样也可以处理一 ...
- ASP.NET Web API - ASP.NET MVC 4 系列
Web API 项目是 Windows 通信接口(Windows Communication Foundation,WCF)团队及其用户激情下的产物,他们想与 HTTP 深度整合.WCF ...
随机推荐
- 字符串模式匹配算法——BM、Horspool、Sunday、KMP、KR、AC算法一网打尽
字符串模式匹配算法——BM.Horspool.Sunday.KMP.KR.AC算法一网打尽 本文内容框架: §1 Boyer-Moore算法 §2 Horspool算法 §3 Sunday算法 §4 ...
- R语言 数据的输入方式总结
1.使用C函数连接数据 2.使用c,cbind,rbind结合变量 3.使用Vector函数结合数据 4.使用矩阵结合数据5.使用data.frame函数结合数据 6.使用list函数结合数据 c 向 ...
- poj3709
首先我们发现将一段数变为同一个数比间隔着搞肯定优,因为数列是升序的,然后不难得到方程式f[i]=min(f[j]+sum[i]-sum[j]-(i-j)*a[j+1]) (i-j>=m)简单的斜 ...
- MySQL的Grant命令
来源:http://yingxiong.javaeye.com/blog/451208 本文实例,运行于 MySQL 5.0 及以上版本. MySQL 赋予用户权限命令的简单格式可概括为: gra ...
- mkimage使用详解
uboot源代码的tools/目录下有mkimage工具,这个工具可以用来制作不压缩或者压缩的多种可启动映象文件. mkimage在制作映象文件的时候,是在原来的可执行映象文件的前面加上一个0x40字 ...
- (转载)mysql中limit用法
(转载)http://hi.baidu.com/sppeivan/item/e45179375d6778c62f8ec221 mysql中limit用法 使用查询语句的时候,经常要返回前几条或者中 ...
- 《University Calculus》-chape8-无穷序列和无穷级数-基本极限恒等式
基于基本的极限分析方法(诸多的无穷小以及洛必达法则),我们能够得到推导出一些表面上看不是那么显然的式子,这些极限恒等式往往会在其他的推导过程中用到,其中一个例子就是概率论中的极限定理那部分知识.
- 《A First Course in Probability》-chaper5-连续型随机变量-随机变量函数的期望
在关于离散型随机变量函数的期望的讨论中,我们很容易就得到了如下的等式: 那么推广到连续型随机变量,是否也存在类似的规律呢? 即对于连续型随机变量函数的期望,有: 这里给出一个局部的证明过程,完整的证明 ...
- 爬虫技术实战 | WooYun知识库
爬虫技术实战 | WooYun知识库 爬虫技术实战 大数据分析与机器学习领域Python兵器谱-大数据邦-微头条(wtoutiao.com) 大数据分析与机器学习领域Python兵器谱
- MongoDB性能优化指南
一.索引 MongoDB 提供了多样性的索引支持,索引信息被保存在system.indexes 中,且默认总是为_id创建索引,它的索引使用基本和MySQL 等关系型数据库一样.其实可以这样说说,索引 ...