я должен опубликовать POJO на сервер, который принимает только параметры с помощью данных формы (MediaType.APPLICATION_FORM_URLENCODED). Я знаю, что jersey-клиент может преобразовать объект в xml, json и другие типы, но попытка конвертировать в APPLICATION_FORM_URLENCODED дает исключение, показывающее, что для созданных типов нет создателя тела для указанных типов.POST с помощью клиента Джерси APPLICATION_FORM_URLENCODED MEDIATYPE
Есть ли способ сериализации объекта как application_form_urlencoded MultivaluedMap, или мне нужно вручную взять атрибут по атрибуту для формирования результирующей MultivaluedMap? Создание адаптера для использования сериализации трикотажа не представляется мне подходящим решением в соответствии с контекстом проблемы.
Объект для POST
@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; }
}
сообщение действий с использованием Джерси клиенту поставщиков
ClientResponse response = client.resource(url).type(MediaType.APPLICATION_FORM_URLENCODED).accept(MediaType.APPLICATION_JSON).post(ClientResponse.class, postableObject);
Печальные новости, я надеялся, что решение уже существует для этого – jmoreira
Ну, это не популярный прецедент. POJO более естественно сопоставляется с многоуровневой картой, тогда как «application/x-www-form-urlencoded» действительно представляет собой карту одного уровня. – Perception
Сопоставление многозначной карты достаточно для моего случая, я понимаю, что вы говорите, что это можно сделать не вручную? –
jmoreira