フォームデータ ( MediaType.APPLICATION_FORM_URLENCODED )を介してパラメーターのみを受け入れるサーバーにpojoを投稿する必要があります。jersey クライアントがオブジェクトを xml、json、およびその他のタイプに変換できることは知っていますが、APPLICATION_FORM_URLENCODED に変換しようとすると、指定されたタイプのボディ ライターが利用できないことを示す例外が発生します。
オブジェクトをシリアル化して application_form_urlencoded MultivaluedMap にする方法はありますか、または結果の MultivaluedMap を形成するために属性ごとに手動で取得する必要がありますか? jersey シリアライゼーションを使用するアダプターを作成することは、問題のコンテキストによると、適切な解決策ではないように思えます。
投稿するオブジェクト
@XmlRootElement
public class POSTableObject {
private int a;
private String b;
public int getA() { return a; }
public void setA(int a) { this.a = a; }
public String getB() { return b; }
public void setB(String b) { this.b = b; }
}
Jersey クライアントを使用したポスト アクション
ClientResponse response = client.resource(url).type(MediaType.APPLICATION_FORM_URLENCODED).accept(MediaType.APPLICATION_JSON).post(ClientResponse.class, postableObject);