2016-02-16 82 views
1

我試圖將一個完整的URL作爲參數傳遞給一個基於java的REST服務(GET),但我不知道如何格式化它以避免「HTTP 400錯誤請求」。我試過Base64編碼,但仍然遇到400錯誤。我認爲問題的一部分是,該網址包含一個問號「?」,因爲它似乎是罰款,如果我刪除,並按原樣傳遞網址。我不確定編碼時出現什麼問題。Rest服務接受一個URL作爲參數

例如URL - http://my.site.com/testing-service?some+parms

方法註釋:

@GET 
@Path("/{fullurl}") 
@Produces("application/json") 
public Response findByUrl(@PathParam("fullurl") String fullurl) 
... 
+0

從服務器獲取400錯誤通常意味着請求格式錯誤或者參數或其值丟失或不應存在。在大多數API中,查詢參數需要一個由參數鍵的等號分隔的非空值。那麼http://my.site.com/testing-service?url=base64encodedurl – manonthemat

+0

用哪種語言來實現其餘服務? 我試着用.net處理程序進行快速測試,它可以毫無問題地得到整個網址。 你可以發佈你的代碼嗎?這將幫助我們巨大。 – dantella

回答

0

顯然,編碼方法是(我每個第一對夫婦的意見更詳細一點更新說明)關閉,但Base64(java或commons-code)無論如何都不工作(長度也許?)。我發現切換到Base32(公共代碼)適用於我的情況。

相關問題