我的服务定义如下.
public String getData(@QueryParam("date") Date date)
我正试图java.util.Date从我的客户端(它是jaxrs:CXF的客户端,而不是通用HTTP客户端或浏览器)传递给它.
我的服务收到Thu Mar 01 22:33:10 IST 2012HTTP URL中的日期.由于CXF无法Date使用此String 创建对象,因此我的客户端收到404错误.我尝试ParameterHandler在服务端使用a ,但我仍然无法成功解析它,因为我不期望任何特定格式的日期.
根据这篇文章,传递一个Date应该是开箱即用,但我似乎无法让基本案例工作.我是否需要做任何事情才能成功地将Date对象从我的客户端传递给服务?感谢任何帮助.
谢谢
如何在POST请求中的请求正文中发送多个参数?
@POST
@Consumes("multipart/form-data")
@Produces("application/json")
public String addForm1(@FormParam("i1") Integer i1, @FormParam("i2") Integer i2);
Run Code Online (Sandbox Code Playgroud)
上面的代码返回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)
Run Code Online (Sandbox Code Playgroud)
另外,为了传递多种复杂类型,例如List<Map<String, String>>' or 'List<MyNestedCustomObject>在POST方法中,我需要做什么?我可以通过使用JAXB和注释来传递这样的参数@XmlJavaTypeAdapter …