我在我的應用程序中使用Jersey 1.8。我試圖在服務器上使用POST
數據。數據類型爲application/x-www-form-urlencoded
。 是否有一種方法可以獲取一個對象中的所有數據,可能是Map<String, Object>
。Jersey:將所有POST數據消費到一個對象
我遇到澤西島的@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
。但是使用這將需要我使用@FormParam
,如果參數數量很大,這可能很乏味。或者,也許一個方法是這樣的:
@POST
@Path("/urienodedeample")
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
@Produces(MediaType.APPLICATION_JSON)
public Response uriEncodedExample(String uriInfo){
logger.info(uriInfo);
//process data
return Response.status(200).build();
}
上面的代碼消耗,並提出在String
對象中的表單數據。
_search=false&nd=1373722302667&rows=10&page=1&sidx=email&sord=desc
處理這個()可以是易錯的任何錯位的&
和分裂將返回損壞的數據。
我用UriInfo對於我的大部分工作,這將使我在MultiValuedMap
或其他POST請求的查詢參數,發送的有效載荷在json
格式又將解組到Map<String, Object>
。如果POST數據類型爲application/x-www-form-urlencoded
,我可以如何做到這一點。
你也可以使用多值HashMap – kazy