2013-12-16 96 views
4

首先,我會問我的問題,然後解釋我們在測試過程中發現的問題。我們似乎無法使用ServiceStack 4.0訪問resources路由上的Swagger API。這仍然是支持的嗎?Swagger和ServiceStack 4.0

我們正在開始一個新建項目,並正在調查ServiceStack。按照建議,我們使用http://ServiceStack.net版本4.0。我們已經建立了一個「安全」服務,並驗證/Security/User/username正確返回有關用戶的信息。端到端的ServiceStack測試工作得很好。

,在我們前進,我們也想用揚鞭來記錄我們的API。它出現在我們的測試中,版本4.0中不再支持resources路由,或者至少不工作。我們已經下載了所有示例項目的指導,他們都使用ServiceStack 3.9.33,所以使用示例沒有太多的運氣。我們已經嘗試使用這些本地URL作爲Swagger資源快照:

localhost:85/resources 
localhost:85/api/resources (with routing changes in the web.config 
localhost:85/security/resources 
localhost:85/api/security/resources (with routing changes in the web.config) 

所有沒有運氣。我們缺少什麼?

這裏是我們的APPHOST類:

public class AppHost : AppHostBase 
{ 
    public AppHost() 
     : base("API Services", typeof(SecurityService).Assembly) 
    { 
    } 

    public override void Configure(Container container) 
    { 
     Plugins.Add(new SwaggerFeature()); 
     Plugins.Add(new ValidationFeature()); 

     container.RegisterValidators(typeof(UserValidator).Assembly); 
    } 
} 

,從我們的Global.asax文件中的相關代碼:

protected void Application_Start(object sender, EventArgs e) 
{ 
    new AppHost().Init(); 
} 

我們已經得到了最新的採用的NuGet和Visual Studio 2013的所有軟件包。任何ServiceStack新手的指導表示讚賞。

+0

你啓用揚鞭插件在你的'AppHost'?這個細節很容易錯過。下面是你在你的'AppHost.Configure'方法需要的東西:'Plugins.Add(新SwaggerFeature());' –

+1

您也可以訪問'/ metadata'頁在Web瀏覽器,你應該看到'ResourceRequest'和'資源「操作,如果Swagger配置正確。 –

+0

是的,我在AppHost中配置了該功能。我的元數據頁中沒有看到ResourceRequest或資源。我看到的只有我的3個操作。我用相關的代碼更新了這個問題。 – mohrtan

回答

3

我希望的解決方案是比這更聰明,如果只讓我覺得我理解的問題,但在移除,然後通過包管理控制檯重新安裝所有ServiceStack包解決的問題。感謝所有幫助我調試的人。