以下のエンドポイントを持つコントローラーを見てみましょう:
@RestController @RequestMapping("v1/hello") public class ExampleController { @GetMapping public ResponseEntity<String> get() { return ResponseEntity.ok("Hello World!"); } }
Spring の @RestController アノテーションを使用する場合、デフォルトで応答は応答の本文に配置されるため、 ResponseEntity メソッドの戻り値を入力し、例のように応答タイプのみを直接入力します以下:
@RestController @RequestMapping("v1/hello") public class ExampleController { @GetMapping public String get() { return "Hello World!"; } }
200 (OK) です。つまり、別のステータスを使用したい場合にのみ変更する必要があります。 ResponseEntity を使用する必要はありません。アノテーションのみを使用してください@ResponseStatus 上記のメソッド:
@RestController @RequestMapping("v1/hello") public class ExampleController { @GetMapping @ResponseStatus(HttpStatus.ACCEPTED) public String get() { return "Hello World!"; } }
ResponseEntity が存在するのでしょうか?
応答にヘッダーを追加するなど、本文とステータスだけではなく、さらに多くの情報を応答に追加する必要がある場合:
@RestController @RequestMapping("v1/hello") public class ExampleController { @GetMapping public ResponseEntity<String> get() { return ResponseEntity.ok() .header("X-Test", "Blabla") .body("Hello World!"); } }
以上がResponseEntity をいつ使用するか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。