Как отправить более одного параметра в теле запроса в запросе POST?
@POST
@Consumes("multipart/form-data")
@Produces("application/json")
public String addForm1(@FormParam("i1") Integer i1, @FormParam("i2") Integer i2);
Приведенный выше код возвращает HTTP 415.
Замена @FormParam
на @Multipart
приводит кОшибка Resource method has more than one parameter representing a request body
, как показано ниже.
SEVERE: Resource method service.rs.TestService.postData2 has more than one parameter representing a request body
Exception in thread "main" org.apache.cxf.jaxrs.client.ClientWebApplicationException: Resource method service.rs.TestService.postData2 has more than one parameter representing a request body
at org.apache.cxf.jaxrs.client.ClientProxyImpl.reportInvalidResourceMethod(ClientProxyImpl.java:546)
at org.apache.cxf.jaxrs.client.ClientProxyImpl.getParametersInfo(ClientProxyImpl.java:214)
at org.apache.cxf.jaxrs.client.ClientProxyImpl.invoke(ClientProxyImpl.java:138)
at $Proxy20.postData2(Unknown Source)
at service.TestServiceClient.main(TestServiceClient.java:82)
Кроме того, что мне нужно сделать, чтобы передать несколько сложных типов, таких как List<Map<String, String>>' or 'List<MyNestedCustomObject>
, в метод POST?Я могу передать такой параметр с помощью JAXB
и аннотировать его с помощью @XmlJavaTypeAdapter
, но я думаю, что это не работает в случае передачи нескольких параметров?Должен ли я определять своих собственных читателей и авторов тела сообщения?Любой пример кода будет полезен.
Спасибо