ABPのヒント - グローバルプロパティDontWrapResultを設定する方法

demo地址

GitHubの関連デモ住所:
作成するために、Visual Studioの2019を使用し、デモ、非ABP公式サイトのテンプレートを説明するためasp.net core 2.2 webapi、単純に見た目を変える、Abp.AspNetCoreパッケージの導入、プロジェクトを。

適応ABP

単純な列挙の変換ステップ:

  1. プロジェクトを初期化します
  2. nugetによって導入Abp.AspNetCore
  3. モジュールを作成します。
  4. トランスフォーメーション・スタートアップ
  5. コントローラは、AbpControllerを継承する必要があります

変換は、以下の結果を返すために、手術部位、上記の手順に従って完了した後(JSONの観察を容易にするために、文字列が返されるフォーマットされて)

{
  "result": [
    "value1",
    "value2"
  ],
  "targetUrl": null,
  "success": true,
  "error": null,
  "unAuthorizedRequest": false,
  "__abp": true
}

WrapResultとDontWrapResult

そしてかどうかアクションコントローラプロセスプロパティWrapResult DontWrapResultコントロールを使用して。デフォルトでは、パッケージには、結果としてパッケージを、結果を返します。[DontWrapResult]等価[WrapResult(WrapOnSuccess = false, WrapOnError = false)]
私にとっては、私はすべてのパッケージを必要としない、クリーンなリターンを取得する必要はありません。その後、私はコントローラとアクションを追加することができ[DontWrapResult]、パッケージをシールドします、。各コントローラやアクションを追加したくなかった、プロパティに追加されますか?あなたは、グローバルコンフィギュレーションを必要としますConfiguration.Modules.AbpAspNetCore()
以下のように設定があります

var result = new DontWrapResultAttribute();
Configuration.Modules.AbpAspNetCore().DefaultWrapResultAttribute.WrapOnError = result.WrapOnError;
Configuration.Modules.AbpAspNetCore().DefaultWrapResultAttribute.WrapOnSuccess = result.WrapOnSuccess;

詳細については、以下を参照してくださいどのようにグローバルWrapResult

グローバルコンフィギュレーションした後、以下を返します

[
  "value1",
  "value2"
]

おすすめ

転載: www.cnblogs.com/AlienXu/p/11202541.html