Jersey で POST 送信処理後にダイレクトする方法

公開日: : 最終更新日:2014/01/26 Jersey ,

JAX-RS の参照実装である Jersey でリダイレクトする方法を調べたましたのでメモしておきます。

icatch-redirect

Struts から Jersey へ

最近はスマホ用に API を作成する機会も増えたので、これまで大変お世話になった Struts やら Super Agile Struts ではなく、Jersey を使っています。
Jersey を使ったほうがいろいろ楽できるからってのが理由です。

Jersey でも普通の Servlet と同じように POST を受け取ることができる(PUT も DELETE もですが)ので、乗り換えコストは高くないと思っています。
プレゼンテーション層だけが変わるだけなので。

PRG パターン

Post, Redirect, Get の省略です。画面から POST で送信されたデータを登録したときは、Redirect して画面遷移しましょう、ってことです。
詳しくは次のリンクを見てください。

Jersey でリダイレクトする

「POST で送信されたデータを登録するのは分かるけど、リダイレクトって Jersey でどうやるんだ?」って思ったので調べました。

コードは次のような感じになります。
例外処理はテキトーです。

public Response save(
        @Context UriInfo uriInfo, 
        @FormDataParam("hoge") String hoge) {

    try {
        // ここにパラメータ hoge を保存する処理を書く

        URI uri = uriInfo.getBaseUriBuilder().path("遷移先のパス").build();
        return Response.seeOther(uri).build();
    } catch (Exception e) {
        return null;
    }
}

「遷移先のパス」にリダイレクト先のパスを設定して、Response を返すだけでリダイレクトできます。

「遷移先のパス」には “path/to?id=1″ みたいな感じにすることもできます。

Googleアドセンス用(PC)

  • このエントリーをはてなブックマークに追加
  • follow us in feedly

関連記事

記事はありませんでした

Googleアドセンス用(PC)

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


四 × = 20

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Googleアドセンス用(PC)

icatch-jersey_multi_pathparams
Jerseyの@PathParamはスラッシュの間に複数指定できる

http://hoge-api/user/{id}.{format}

icatch-vagrant_box_customize
VagrantのBoxファイルをカスタマイズして独自のBoxファイルを作成する

配布されている Vagrant の Box ファイルを使って検証環境を

icatch-2015-006-1
バリデーションチェックにJava8のOptionalを使ってスマートに書く(自分比)

Web アプリのバリデーションチェックにアノテーションを使うことが増え

icatch-2015-005-1
ユニットテストの偏りを防ぐ命名規則の付け方

ユニットテスト名に以下の命名規則を付けるようにして二ヶ月ぐらい経った。

icatch-2015-004-1
Vagrantで起動したCentOS上のOctopressをホストOSから確認する設定

タイトルの通りだが、Vagrant を使って起動した CentOS に

→もっと見る

PAGE TOP ↑