CXF JAXRS -Как отправить более одного параметра POST

Как отправить более одного параметра в теле запроса в 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, но я думаю, что это не работает в случае передачи нескольких параметров? Должен ли я определять своих собственных читателей и авторов тела сообщения? Любой пример кода будет полезен.

Спасибо

5
задан domino 9 March 2012 в 10:03
поделиться