Java

Spring MVCのコントローラーで任意のステータスコードを返す方法

投稿日:2013/10/11 更新日:

Spring MVCにかぎらずなんですが、URIリソースが見つからない場合は、適切なステータスコードを返してブラウザにお知らせする必要があると思います。
例えば、マッピングには一致したが指定された条件に一致しないから404を指定したい場合などです。
まさに、Spring MVCで同様なことをしようと思ったら探し方がわるいのか、なかなか見つからなかったのですが、ようやく見つかりました。
@ResponseStatusアノテーションを使うみたいですね。

例えば404を返す場合は、

@ResponseStatus(value = HttpStatus.NOT_FOUND)
private class HttpStatus404Exception extends RuntimeException {
}

のような実行時例外クラスを作成して、以下のようにします。

@RequestMapping("/")
public String index(Model model) {
  throw new HttpStatus404Exception();
}

これは極端ですが、マッピングに一致すると404を返します。
ですが、これだとステータスごとに例外を作成しなければならないので、ちょっと面倒です。
まぁでも目標は達成できました。

参考サイト

trigger 404 in spring-mvc controller?

-Java
-

執筆者:


comment

メールアドレスが公開されることはありません。

関連記事

no image

Windows7でSeleniumServer(RC)を使ってFireFoxを起動する方法

ちょうどWEBアプリを作っているので複雑な画面をSeleniumでテストケース作っておけばいいかなーと思って作りました。 FireFoxDriverを起動しています。 Jenkinsでテストとテストサ …

Spring MVCでHelloWorld Maven2からEclipse編

先日よりはじめて触ったSpingMVC。 取り急ぎ、環境構築をしてみます。 初めてなので、WEBのチュートリアルみたいなのを見ながら始めました。 今回の目標はMaven2でひな形を作って、それをEcl …

no image

Mavenでコンパイル時のJDKバージョンを指定する方法

久々にMavenを使う機会がありjar:jarを実行したら、コンパイルエラーが出力されてjarファイルが生成できませんでした。 コンパイルしているマシンがJava7で、どうもJava7で文字コード関連 …

JenkinsでwarファイルをTomcatにデプロイする方法

Tomcatサーバーへのデプロイは手動で行ってきました。 Antでリリースパッケージを作成して、SCP or FTPでリリース。原始的な方法です。 ですがJenkinsにTomcatのデプロイ用のプラ …

no image

WindowsのAntでJDKのバージョンを変更する方法

先日のMavenでコンパイル時のJDKバージョンを指定する方法のAnt版っていう感じです。 Mavenは先日の記事のように、プラグインで用意されているみたいなのですがAntには無さそう。 という訳で、 …