私は、Jersey を使用する Web アプリに取り組んでいます。URIBuilder と seeOther レスポンスを使用して、get-after-post のようなものを実装しようとしています。目的は、ブラウザーが既にオンになっているのと同じ URI にリダイレクトすることですが、GET を強制することです。次のように少し動作します。
- リクエストは PUT 経由で届きます
- 処理された PUT 要求
- 返されたその他の応答を参照してください
ブラウザが 303 See Other を取得し、受信した URI に対して GET を実行すると、何が起こるはずです。残念ながら、代わりに URI に対して PUT を実行し (私が知る限り)、PUT がそれを上記のステップ 1. に送り返し、リダイレクト ループが発生します。
ここで何がうまくいかないのですか?
private Response giveSeeOther(){
/*Get the base URI builder*/
final UriBuilder uriBuilder = m_uriInfo.getBaseUriBuilder();
/* Some stuff to create the URI */
final Map<String, Object> parameterMap = new HashMap<String, Object>();
parameterMap.put("uid", getUid());
final URI redirectUri = uriBuilder.path(SomeObject.class).
path(SomeObject.class, "get").
buildFromMap(parameterMap);
/* See Other (303) */
return Response.seeOther(redirectUri).build();}
これが see other メソッドのコードです。他にどのようなコードが必要かわかりませんが、お知らせください。