Spring MVCにかぎらずなんですが、URIリソースが見つからない場合は、適切なステータスコードを返してブラウザにお知らせする必要があると思います。
例えば、マッピングには一致したが指定された条件に一致しないから404を指定したい場合などです。
まさに、Spring MVCで同様なことをしようと思ったら探し方がわるいのか、なかなか見つからなかったのですが、ようやく見つかりました。
@ResponseStatusアノテーションを使うみたいですね。
例えば404を返す場合は、
[java]
@ResponseStatus(value = HttpStatus.NOT_FOUND)
private class HttpStatus404Exception extends RuntimeException {
}
[/java]
のような実行時例外クラスを作成して、以下のようにします。
[java]
@RequestMapping("/")
public String index(Model model) {
throw new HttpStatus404Exception();
}
[/java]
これは極端ですが、マッピングに一致すると404を返します。
ですが、これだとステータスごとに例外を作成しなければならないので、ちょっと面倒です。
まぁでも目標は達成できました。
Spring MVCのコントローラーで任意のステータスコードを返す方法