2010-07-27 14 views
10

Czy istnieje sposób przekierowania klienta użytkownika do zasobu Jersey?Jersey (implementacja JSR311) i przekierowania

Wiosną MVC jest "przekierowanie:" - składnia, ale nie znalazłem nic podobnego w klasie Jersey Viewable. Jedyną metodą, którą znalazłem działającą, było użycie HttpServletResponse.sendRedirect().

Odpowiedz

21

Musisz zwrócić obiekt Response zawierający Twój kod stanu i Location -header. Najprostszym sposobem jest użycie javax.ws.rs.core.Response.temporaryRedirect(URI).

Podczas korzystania z Viewable może być konieczne rzucenie obiektu WebApplicationException zawierającego ten obiekt Response.

+0

Jeden dodatek. Response.temporaryRedirect (URI) zwraca status 307, który zachowuje metodę początkowego żądania. Response.seeOther (URI) zwraca kod stanu 303, który konwertuje POST na GET. Tak więc, na przykład, jeśli POST dane logowania i przekierowanie na stronę indeksu, można pobrać stronę indeksu zamiast POST'ing dla niego. – broadbear