用Swashbuckle给ASP.NET Core的项目自动生成Swagger的API帮助文档
Swagger是一個描述RESTful的Web API的規范和框架。如果使用ASP.NET的話,可以用Swashbuckle來自動生成Swagger,具體參考如何使 WebAPI 自動生成漂亮又實用在線API文檔。下面詳細的介紹一下如何給ASP.NET Core的項目自動生成Swagger的API幫助文檔。
創建ASP.NET Core的Web API Controller
在Visual Studio 2015中創建一個ASP.NET Core的項目,點擊添加“New Item”,“Server-side”,“Web API Controller Class”。Visual Studio會幫我們自動創建一個如下的文件,實現了一個標準的RESTful的Web API。
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | [Route("api/[controller]")] public class ValuesController : Controller { ? ?// GET: api/values ? ?[HttpGet] ? ?public IEnumerable<string> Get() ? ?{ ? ? ? ?return new string[] { "value1", "value2" }; ? ?} ? ?// GET api/values/5 ? ?[HttpGet("{id}")] ? ?public string Get(int id) ? ?{ ? ? ? ?return "value"; ? ?} ? ?// POST api/values ? ?[HttpPost] ? ?public void Post([FromBody]string value) ? ?{ ? ?} ? ?// PUT api/values/5 ? ?[HttpPut("{id}")] ? ?public void Put(int id, [FromBody]string value) ? ?{ ? ?} ? ?// DELETE api/values/5 ? ?[HttpDelete("{id}")] ? ?public void Delete(int id) ? ?{ ? ?} } |
添加Swashbuckle的Nuget包
打開project.json文件,添加Swashbuckle的依賴Swashbuckle.SwaggerGen和Swashbuckle.SwaggerUi。注意我們要使用6.0的版本,這是針對ASP.NET Core的。它的github地址Ahoy也和之前的版本不一樣了。
| 1 2 3 4 5 6 7 8 9 10 | "dependencies": { ?"Microsoft.AspNet.IISPlatformHandler": "1.0.0-rc1-final", ?"Microsoft.AspNet.Mvc": "6.0.0-rc1-final", ?"Microsoft.AspNet.Mvc.Core": "6.0.0-rc1-final", ?"Microsoft.AspNet.Server.Kestrel": "1.0.0-rc1-final", ?"Microsoft.AspNet.SignalR.Server": "3.0.0-rc1-final", ?"Microsoft.AspNet.StaticFiles": "1.0.0-rc1-final", ?"Swashbuckle.SwaggerGen": "6.0.0-rc1-final", ?"Swashbuckle.SwaggerUi": "6.0.0-rc1-final" }, |
在Startup.cs中配置Swashbuckle
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | public void ConfigureServices(IServiceCollection services) { ? ?// ... ? ?services.AddSwaggerGen(); ? ?// ... } public void Configure(IApplicationBuilder app) { ? ?// ... ? ?app.UseSwaggerGen(); ? ?app.UseSwaggerUi("help"); // API文檔的地址,默認是 /swagger/ui ? ?// ... } |
運行項目,查看API文檔,也能直接測試
萬事俱備,運行項目,打開地址,就能看到如下的API文檔了,還能直接在這里測試Web API。
相關文章:
WebAPI前置知識:HTTP與RestfulAPI
WEB API系列(一):WEB API的適用場景、第一個實例
WEB API 系列(二) Filter的使用以及執行順序
ASP.NET Web API 安全篩選器
Web API 基于ASP.NET Identity的Basic Authentication
ASP.NET Web Api使用CacheCow和ETag緩存資源
使用 West Wind WebSurge 對 ASP.NET Web API 服務進行壓力測試
Web API應用支持HTTPS的經驗總結
Dion Hinchcliffe談Web API的過去與未來
WebAPI生成可導入到PostMan的數據
如何使 WebAPI 自動生成漂亮又實用在線API文檔
原文地址:http://fresky.github.io/2016/06/08/use-swashbuckle-to-add-swagger-api-help-for-asp-net-core/
.NET社區新聞,深度好文,微信中搜索dotNET跨平臺或掃描二維碼關注
總結
以上是生活随笔為你收集整理的用Swashbuckle给ASP.NET Core的项目自动生成Swagger的API帮助文档的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ASP.NET Core 中文文档 第三
- 下一篇: IronPython项目有了新负责人