2014-09-30 136 views
0

我在撥打我的應用程序所面臨的問題,刪除尾部「==」(寫於playframework 2.3),具有散列字符串REST請求的一個播放從請求

網址:/數據是更新請求,我用PUT動詞發送數據,項目代碼是散列字符串(例如「abcid ==」)。

我發送請求內容類型:application/X WWW的窗體-urlencoded

和在服務器側我正在與下面的代碼獲取數據,

final Map<String, String[]> values = request().body() 
        .asFormUrlEncoded(); 
List<String> itemCodeList = Arrays.asList(values.get("itemCodeList")); 

但具有itemCodeList元件該項目代碼爲「abcid」。

我不確定散列總是會生成尾隨「==」的字符串,所以無法加入itemCodeList元素中的「==」。

回答

1

該請求應該是網址編碼的。所以'abcid =='應該發送爲'abcid%3D%3D'。
您可以使用Web Url Endcoder/Decoder來編碼文本。

+0

但是如何在Play框架中做到這一點。 – 2014-10-01 06:06:39

+0

客戶端應該執行編碼。 如果您的客戶端是用Java編寫的,您可以使用[Java URLEncoder](http://docs.oracle.com/javase/7/docs/api/java/net/URLEncoder.html) – roterl 2014-10-01 06:31:24

+0

我收到來自UI,但無法在playframework中進行編碼。 – 2014-10-01 06:35:05