5

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

4

2 に答える 2