2017-08-20 4 views
0

ASP Net Boilerplateを使用して作成したAPIのC#コードを生成しようとしましたが、応答が正しくデシリアライズされません。swaggergenツールを使用してスワッガークライアントを生成するにはasp netボイラープレートで動作しません

調査の結果、「AjaxResponse」というクラスを使用してjsonレスポンスがラップされているようです。ただし、swagger.jsonはメソッド応答にこの型を含めていません。

ラップされた結果を説明するC#Swaggerクライアントを構築する方法を知っている人はいますか?

答えて

0

Aspnetボイラープレートは、AjaxResponse内で実際の結果をラップします。クラスAjaxResponseはジェネリック型クラスです。実行時に結果をラップするため、Swaggergenツールは正しいプロキシクラスを生成できません。 SwaggerでつかまれたAPIの署名は生の結果です(ラップされていません)。

唯一の解決策は、ソリューション全体の自動ラッパーを無効にすることです。 Web.CoreプロジェクトのPreInitialize()メソッドに2行追加します。そしてあなたの問題は解決されます。

Configuration.Modules.AbpAspNetCore()DefaultWrapResultAttribute.WrapOnError = FALSE。

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

+0

ありがとうございました!それは完璧に働いた! – Matt

関連する問題