2015-05-08 147 views
4

我正在嘗試註冊一個自定義的swashbuckle路由。 但是我無法弄清楚這一點。Swashbuckle的自定義路由

我需要做的是給當前路線添加一個擴展名。

因此,例如: 不是招搖/ UI,我需要將其設置爲swagger.aspx/UI .. 這是因爲我的申請將在那裏我沒有訪問及其運行IIS6服務器上託管。

任何想法?

我曾嘗試:

RouteTable.Routes.Remove(RouteTable.Routes["swagger_docs"]); 
RouteTable.Routes.Remove(RouteTable.Routes["swagger_ui"]); 
config.EnableSwagger("docs.aspx/{apiVersion}/swagger", c => c.SingleApiVersion("v1", "A title for your API")).EnableSwaggerUi("swagger.aspx/{*assetPath}"); 

,但沒有成功... :(

回答

0

從理論上講,應該工作,甚至有在單元測試類似的配置: https://github.com/domaindrivendev/Swashbuckle/blob/e0053e1864defa3c4f73ca2a960eb876e257cc9e/Swashbuckle.Tests/Owin/MultiSwaggerOwinStartup.cs

但可能有一個潛伏在那裏的bug ...


您最好的選擇就是創建一個滿足您需求的定製浮飾。您需要更改DefaultRouteTemplate: https://github.com/domaindrivendev/Swashbuckle/blob/e0053e1864defa3c4f73ca2a960eb876e257cc9e/Swashbuckle.Core/Application/HttpConfigurationExtensions.cs#L15