使用Swagger制作WebApi的接口
首先,創建一個空的WebApi項目
之後,創建Controller,然後繼承ApiController
之後呢,我們需要寫個方法,當然,都是有返回值的,不能用return View()啥的(畢竟是返回數據用的接口)
然後,我們需要引用NuGet裏頭的 Swashbuckle、swagger.Net.UI
註:引用完 Swashbuckle,會在App_Start裏頭生成一個 SwaggerConfig(用來配置Swagger參數的,強烈建議使用穩定版本的,我用了一下最新預發行版,結果沒生成這個文件,之後再次引用下5.53的穩定版,丫丫的,也可能是這個文件需要後面才引用--在引用swagger.Net.UI之後)
配置參數:
using System.Web.Http; using WebActivatorEx; using wp3; using Swashbuckle.Application; [assembly: PreApplicationStartMethod(typeof(SwaggerConfig), "Register")] namespace wp3 { /// <summary> /// Swagger配置 /// </summary> public class SwaggerConfig { //加了這個 privatestatic string GetXmlCommentsPath() { return string.Format(@"{0}\bin\wp3.XML", System.AppDomain.CurrentDomain.BaseDirectory); } public static void Register() { var thisAssembly = typeof(SwaggerConfig).Assembly; GlobalConfiguration.Configuration .EnableSwagger(c=> { c.SingleApiVersion("v1", "wp3"); c.IncludeXmlComments(GetXmlCommentsPath());//加了這個 }) .EnableSwaggerUi(c => { }); } } }
註意:上面的GetXmlCommentsPath 靜態方法,是讀取你這個項目bin目錄下生成的 Xml(這個是你在Swagger裏頭註釋的內容),
需要 右擊你的項目->屬性->生成,將XML文檔文件 勾選起來,生成目錄可以自己選擇,當然 樓上的 SwaggerConfiger中的GetXmlCommentsPath 的路徑也需要修改了
之後,去App_Start中,將樓上的兩行註釋掉(沒有的話就算了,據說是因為:估計是nuget包中的代碼沒有更新導致這個異常出現)
然後,運行沒看到,我就在代碼頭部加上個 Route("Default/Login") 路由地址
之後運行了,也顯示出來了(包括沒加這個路由的方法也顯示出來了,個人猜測,應該是有大的改動之類的,才會更新--或者我沒單一生成項目吧,外加清理解決方案)
最後呢?我們就可以運行期這個項目看看了
地址:http://localhost:5941/swagger/Ui/index (你的local地址 + /swagger/Ui/index )
結果如圖:
後話,出現個狀況,初始自帶的
還存在,我後續看看怎麽會出來的
感謝:http://www.cnblogs.com/youzi1001/p/6156349.html
http://www.cnblogs.com/Leo_wl/p/5672430.html
使用Swagger制作WebApi的接口