2017-08-20 64 views
0

我試着生成c#代碼和API我創建與ASP Net Boilerplate,但響應不正確反序列化。生成swagger客戶端使用swaggergen工具不與asp網絡樣板工作

經過調查,似乎json響應使用名爲「AjaxResponse」的類進行包裝;但是,swagger.json在方法響應中不包含這種類型。

有誰知道如何建立一個C#Swagger客戶端帳戶的包裝結果?

回答

0

Aspnet Boilerplate在AjaxResponse中包裝真實結果。類AjaxResponse是一個泛型類。 Swaggergen工具無法生成正確的代理類,因爲在運行時包裝結果。 因此,被Swagger抓住的api的簽名是原始結果(未被包裝)。

所以唯一的解決方案是在解決方案範圍內禁用自動包裝。將2行添加到Web.Core項目的PreInitialize()方法中。你的問題解決了。

Configuration.Modules.AbpAspNetCore()。DefaultWrapResultAttribute.WrapOnError = false;

Configuration.Modules.AbpAspNetCore()。DefaultWrapResultAttribute.WrapOnSuccess = false;

+0

謝謝!那完美的工作! – Matt