ホームページ  >  記事  >  Java  >  文字列を返す Spring MVC @ResponseBody メソッドから HTTP 400 エラーを返す方法

文字列を返す Spring MVC @ResponseBody メソッドから HTTP 400 エラーを返す方法

DDD
DDDオリジナル
2024-11-01 12:15:30699ブラウズ

How to Return HTTP 400 Errors from Spring MVC @ResponseBody Methods Returning Strings?

文字列を返す @ResponseBody メソッドでの Spring MVC での HTTP 400 エラーの処理

Spring MVC では、JSON API に @ResponseBody を使用するのが一般的です。ただし、メソッドが文字列を返す場合、エラーの処理が困難になることがあります。この記事では、このようなシナリオで HTTP 400 エラーに応答する最も簡単な方法について説明します。

以下の例では、

@RequestMapping(value = "/matches/{matchId}", produces = "application/json")
@ResponseBody
public String match(@PathVariable String matchId) {
    String json = matchService.getMatchJson(matchId);
    if (json == null) {
        // TODO: how to respond with e.g. 400 "bad request"?
    }
    return json;
}

HTTP 400 エラーを返すための最も簡単な方法は、次のように変更することです。 ResponseEntity<> へのメソッドの戻り値の型。これにより、400 件の応答に対して次のコードを使用できるようになります。

return new ResponseEntity<>(HttpStatus.BAD_REQUEST);

成功したリクエストには、次のコードを使用できます。

return new ResponseEntity<>(json, HttpStatus.OK);

代わりに、Spring 4.1 以降では、次のコードを利用できます。 ResponseEntity のヘルパー メソッド:

return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(null);

成功したリクエストの場合:

return ResponseEntity.ok(json);

ResponseEntity<> を使用すると、簡単な処理を維持しながら @ResponseBody メソッドで HTTP エラーを簡単に処理できます。そしてクリーンな実装。

以上が文字列を返す Spring MVC @ResponseBody メソッドから HTTP 400 エラーを返す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。