アプリケーションで 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.