2016-08-05 65 views
-1

你好我使用RestEasy的API爲我的web .. 我有資源,將接受表單POST請求..重定向URL在Java

@POST 
@Path("/path_here") 
public Response redirectURL(String req){ 
    String url = "http://localhost:8080/url_here"; 
    URL newUrl = new URL(url); 
    return Response.temporaryRedirect(newUrl.toURI()).build(); 
} 

以上只是張貼在所要求的參數代碼重定向的URL .. 所以意義重定向的URL有post請求params ..

我想問一下,如果有方法可以在請求參數進入重定向URL之前過濾和更改請求參數嗎?

+0

澄清*編輯帖子請求值*。 –

回答

0

首先,雖然您向webservice發送請求'POST',但您的重定向URL將在重定向到其他網站時轉換爲'GET'。我希望你已經知道這一點。

如果您的終點是Servlet,您可以在到達Servlet之前定義一個過濾器並嘗試編輯這些參數。

+0

是的我已經知道它被轉換爲GET ..我怎樣才能定義這個過濾器?對不起,但我真的沒有想法:( –

0

重定向的重要概念是,服務器不執行重定向。服務器告訴客戶端「請到這個URL」,客戶端會自動向返回的URL發出GET請求。你可以做的是,從POST請求中獲取主體,將數據從主體轉換爲url參數,並根據需要更改url參數。

P.S .:這是一種解決問題的方法,並不意味着你應該這樣做。請不要這樣做,並根據您的情況找到另一種解決方案。