1. 程式人生 > >使用Swagger制作WebApi的接口

使用Swagger制作WebApi的接口

mes XML blog 運行期 ring 分享 引用 一個 uget

首先,創建一個空的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
    {
     //加了這個
        private
static 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的接口