Controller全体でStatusCodeを決める
@ResponseStatus
アノテーションを利用します。
返却したいステータスコードはHttpStatus
が持っているのでそれを利用します。
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.ResponseStatus;
@PostMapping("")
@ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)
public void index() {
// 処理
}
処理中に返す
ServerHttpResponse
を利用します。
import org.springframework.http.HttpStatus;
import org.springframework.http.server.ServerHttpResponse;
@PostMapping("")
public void index(ServerHttpResponse response) {
if (何らかのエラーチェック) {
// エラーのとき
// return時(処理の終了時)に暗黙的にresponseがreturnされるっぽいので、ステータスコードをsetするだけでOK
response.setStatusCode(HttpStatus.INTERNAL_SERVER_ERROR);
return;
}
// 何事もないとき
}
この記事を書いた人
Nな人(えぬなひと)。
Nは本名から取っています。
Laravelが大好きなPHPerで、WEBを作るときはLaravelを技術スタックに絶対推すマン。
PHP、Pythonと、昔はperlを書いていたP言語エンジニア。
最近はNimを書いたりしています。
Nは本名から取っています。
Laravelが大好きなPHPerで、WEBを作るときはLaravelを技術スタックに絶対推すマン。
PHP、Pythonと、昔はperlを書いていたP言語エンジニア。
最近はNimを書いたりしています。