アプリケーションで Jersey 1.8 を使用しています。POST
サーバーでデータを消費しようとしています。データの型はapplication/x-www-form-urlencoded
です。1 つのオブジェクトですべてのデータを取得する方法はありますかMap<String, Object>
。
ジャージーに出くわしまし@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
た。しかし、これを使用するには を使用する必要があり@FormParam
、パラメーターの数が膨大な場合は面倒です。または、1つの方法は次のとおりです。
@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
これを処理すると、間違った場所&
や split() が壊れたデータを返すため、エラーが発生しやすくなります。
私はほとんどの作業で UriInfo を使用して、MultiValuedMap
または他の POST 要求でクエリ パラメーターを取得し、ペイロードをjson
形式で送信しましたMap<String, Object>
。POST データのタイプがapplication/x-www-form-urlencoded
.