Spring MVCで@ResponseBodyを使用してHTTPエラーコードを返す方法は?

DDD
リリース: 2024-11-03 05:59:03
オリジナル
301 人が閲覧しました

How to Return HTTP Error Codes with @ResponseBody in Spring MVC?

Spring MVC @ResponseBody メソッドで HTTP エラーを処理する方法

Spring MVC @ResponseBody を使用して RESTful API で JSON を返す場合、 HTTP エラーを適切に処理するために不可欠です。一般的なエラー コードの 1 つは 400 (不正なリクエスト) です。このエラー コードは、パラメーターが欠落しているか正しくないため、リクエストが無効であることを示しています。

メソッドの戻り値の型が String である特定のシナリオでは、ResponseEntity を返すようにメソッドのシグネチャを変更できます。

その代わり。 ResponseEntity<>応答の本文と HTTP ステータス コードの両方を指定できます。

<code class="java">@RequestMapping(value = "/matches/{matchId}", produces = "application/json")
@ResponseBody
public ResponseEntity<String> match(@PathVariable String matchId) {
    String json = matchService.getMatchJson(matchId);
    if (json == null) {
        return new ResponseEntity<>(HttpStatus.BAD_REQUEST);
    }
    return new ResponseEntity<>(json, HttpStatus.OK);
}</code>
ログイン後にコピー
HTTP 400 エラーで応答するには、null 本文と適切な HTTP ステータス コードを含む ResponseEntity を返すことができます。以下に例を示します。

<code class="java">return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(null);</code>
ログイン後にコピー
代わりに、Spring 4.1 では、このプロセスをさらに簡素化するヘルパー メソッドが ResponseEntity に導入されました。次を使用できるようになりました:

<code class="java">return ResponseEntity.ok(json);</code>
ログイン後にコピー
、または成功したリクエストの場合:

HTTP エラーを適切に処理することで、RESTful API での一貫したユーザー フレンドリーなエクスペリエンスを保証します。

以上がSpring MVCで@ResponseBodyを使用してHTTPエラーコードを返す方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート