SwashBuckleはエラー時の応答本文を定義します

モリッツシュミット

私のアプリケーションはASP.NETCore 1.0 WebAPIです。

私は次のコントローラーを持っています:

    [HttpGet("{someData:MinLength(5):MaxLength(5)}")]
    [Produces("application/json")]
    public async Task<IActionResult> GetSomeData(string someData)
    {
        return this.Ok(JsonConvert.SerializeObject("Data is: " + someData));
    }

たとえば、文字列「111」を渡すと、swaggerは次のメッセージを表示します。

ここに画像の説明を入力してください

次のようなレスポンスボディを実現するにはどうすればよいですか。

「5つの数字を入力してください」

ありがとうございました

ツェン

[ProducesResponseType(typeof(ModelStateDictionary), (int)HttpStatusCode.OK)]を使用する場合のように、アクションに注釈を付けて、一般的な辞書タイプのエラーメッセージを返すことができますreturn BadRequest(ModelState)

ただし、スキーマ定義でテキストを返すことはできません。これは、エラーメッセージではなく、json構造用にあります。代わりに、xmldocを使用して(そしてswaggerで有効にする)、パラメーターに説明を追加する必要があります。

更新:パラメータとその意味のドキュメントを追加する代わりに

/// <summary>
/// Returns some data based on <paramref name="someData"/> parameter.
/// </summary>
/// <param name="someData">Some data. (Must be exactly 5 characters wide)</param>
/// <response code="200">Returns indexed tags on success</response>
/// <response code="400">Invalid data sent</response>
/// <returns>A paged list of results</returns>
[HttpGet("{someData:MinLength(5):MaxLength(5)}")]
[ProducesResponseType(typeof(MyReturnType), (int)HttpStatusCode.OK)]
[ProducesResponseType(typeof(void), (int)HttpStatusCode.BadRequest)]
public async Task<IActionResult> GetSomeData(string someData)
{
}

また、プロジェクトのプロパティでxmldocsのビルドを有効にする必要があります。

そして、スタートアップに追加します。

services.AddSwaggerGen(options =>
{
    ...
    var appEnv = PlatformServices.Default.Application;

    options.IncludeXmlComments(Path.Combine(appEnv.ApplicationBasePath, $"{appEnv.ApplicationName}.xml"));
    ...
});

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

春にエラーが発生した場合の応答本文を設定します

分類Dev

swagger / swashbuckle WebAPI2で応答エラーメタデータを定義する方法

分類Dev

SOUNDCLOUD API:soundcloud-pythonでエラー429の応答の本文を取得します

分類Dev

応答本文のない成功応答ヘッダーは、AJAXリクエストでエラーを引き起こしますか?

分類Dev

フィドラー:POSTまたはGETのように、自動応答で一致するリクエストタイプを定義しますか?

分類Dev

string.replace()は、定義時にエラーを出力します

分類Dev

Swashbuckle SwaggerResponseRemoveDefaults属性は、Swaggerに200の成功応答を追加します

分類Dev

JMeter-定義された時間未満の応答でリクエストをカウントします

分類Dev

HTTPヘッダーまたは応答本文にエラーメッセージを残しますか?

分類Dev

HTTPエラー中に応答本文を取得する方法はありますか?

分類Dev

HTTPエラー中に応答本文を取得する方法はありますか?

分類Dev

HTTPエラー中に応答本文を取得する方法はありますか?

分類Dev

Swashbuckle.AspNetCoreエラー応答モデルを説明する方法は?

分類Dev

エラーの場合にWebClientから応答本文を取得する正しい方法は何ですか?

分類Dev

Jetty9.4.2でデフォルトのエラー応答本文を無効にします

分類Dev

Dockerエラー:HTTP 408応答本文:無効な文字 '<'が値の先頭を探しています

分類Dev

「有効な応答定義ではありません」という応答を指定しているときに、Swaggerエディターがエラーをスローしています

分類Dev

AWS APIGatewayエラー応答は502「BadGateway」を生成します

分類Dev

BloggerAPIは常に401エラー応答を返します

分類Dev

Retrofitコールバックは応答本文を取得します

分類Dev

PostmanJSONは配列内の応答本文配列を解析します

分類Dev

エラーまたはエラーコードとしての応答コードで200を応答します

分類Dev

ルーメン5.6での応答時にCookieを設定します

分類Dev

応答本文のフィールド名を編集します

分類Dev

RubyのHTTPClientでエラー時に応答を取得する方法はありますか?

分類Dev

エラーが発生した後に応答したいメッセージを定義するにはどうすればよいですか?

分類Dev

Express.jsの応答が定義されていませんエラー

分類Dev

docker:HTTP 403応答の解析中にエラーが発生しました本文:無効な文字 '<'が値の先頭を探しています

分類Dev

「アクションに対して結果が定義されていません」「結果エラー」応答の原因は何でしょうか。

Related 関連記事

  1. 1

    春にエラーが発生した場合の応答本文を設定します

  2. 2

    swagger / swashbuckle WebAPI2で応答エラーメタデータを定義する方法

  3. 3

    SOUNDCLOUD API:soundcloud-pythonでエラー429の応答の本文を取得します

  4. 4

    応答本文のない成功応答ヘッダーは、AJAXリクエストでエラーを引き起こしますか?

  5. 5

    フィドラー:POSTまたはGETのように、自動応答で一致するリクエストタイプを定義しますか?

  6. 6

    string.replace()は、定義時にエラーを出力します

  7. 7

    Swashbuckle SwaggerResponseRemoveDefaults属性は、Swaggerに200の成功応答を追加します

  8. 8

    JMeter-定義された時間未満の応答でリクエストをカウントします

  9. 9

    HTTPヘッダーまたは応答本文にエラーメッセージを残しますか?

  10. 10

    HTTPエラー中に応答本文を取得する方法はありますか?

  11. 11

    HTTPエラー中に応答本文を取得する方法はありますか?

  12. 12

    HTTPエラー中に応答本文を取得する方法はありますか?

  13. 13

    Swashbuckle.AspNetCoreエラー応答モデルを説明する方法は?

  14. 14

    エラーの場合にWebClientから応答本文を取得する正しい方法は何ですか?

  15. 15

    Jetty9.4.2でデフォルトのエラー応答本文を無効にします

  16. 16

    Dockerエラー:HTTP 408応答本文:無効な文字 '<'が値の先頭を探しています

  17. 17

    「有効な応答定義ではありません」という応答を指定しているときに、Swaggerエディターがエラーをスローしています

  18. 18

    AWS APIGatewayエラー応答は502「BadGateway」を生成します

  19. 19

    BloggerAPIは常に401エラー応答を返します

  20. 20

    Retrofitコールバックは応答本文を取得します

  21. 21

    PostmanJSONは配列内の応答本文配列を解析します

  22. 22

    エラーまたはエラーコードとしての応答コードで200を応答します

  23. 23

    ルーメン5.6での応答時にCookieを設定します

  24. 24

    応答本文のフィールド名を編集します

  25. 25

    RubyのHTTPClientでエラー時に応答を取得する方法はありますか?

  26. 26

    エラーが発生した後に応答したいメッセージを定義するにはどうすればよいですか?

  27. 27

    Express.jsの応答が定義されていませんエラー

  28. 28

    docker:HTTP 403応答の解析中にエラーが発生しました本文:無効な文字 '<'が値の先頭を探しています

  29. 29

    「アクションに対して結果が定義されていません」「結果エラー」応答の原因は何でしょうか。

ホットタグ

アーカイブ