2013-02-28 36 views
6

私はJersey(JAX-RS)プロトタイプアプリケーションを作成していましたが、application/x-www-form-urlencodedポストをPOST後のリダイレクト方法で処理しようとしました。Jersey:ジャージールートの外側にリダイレクト

私は成功のためにアプリケーションルートでホストされているhtmlページにリダイレクトしたいのですが、のJerseyのサーブレットルートから脱出できないようです。ここで

は、新しいユーザーを作成することを可能にするリソースの例です:

URI私が欲しい:/jersey-test/user.html

URI私が手に:/ジャージテスト/ Rを私のweb.xmlから /user.html

@POST 
@Consumes({MediaType.APPLICATION_FORM_URLENCODED}) 
public Response putUser(@Context UriInfo uriInfo, 
    MultivaluedMap<String, String> formParams) { 

    // snip... do work and insert user here... 

    URI uri = uriInfo.getBaseUriBuilder().path("user.html").build(); 
    return Response.seeOther(uri).build(); 
} 

関連スニペット:

<web-app ...> 
    <display-name>jersey-test</display-name> 
    ... 
    <servlet> 
    <servlet-name>Jersey REST Service</servlet-name> 
    <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class> 
    ... 
    </servlet> 
    ... 
    <servlet-mapping> 
    <servlet-name>Jersey REST Service</servlet-name> 
    <url-pattern>/r/*</url-pattern> 
    </servlet-mapping> 
</web-app> 

答えて

8

このようなパスを割り当てる:

URI uri = uriInfo.getBaseUriBuilder().path("../user.html").build(); 
+0

ああ男。それは簡単すぎました。しかし、魅力のように動作します、ありがとう! – JavadocMD

+0

私の質問を見てもらえますか?http://stackoverflow.com/questions/35123194/jersey-2-render-swagger-static-content-correctly-without-trailing-slash私の場合 – DerekY

+0

の場合、この例の良い例が1つあります。http://www.javaproficiency.com/2015/04/redirect-in-jersey.html –

関連する問題