使用RESTeasy

时间:2015-05-12 08:02:18

标签: json java-ee post resteasy

我正在使用RESTeasy库在J2EE环境中开发一些REST服务。 如果我有这个@POST REST方法:

@POST
@Path("/filter")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
public List<Order> findOrders(
        @FormParam("orderfiltercriteria") OrderFilterCriteria orderFilterCriteria, 
        @FormParam("readcontext") OrderReadContext readContext, 
        @FormParam("querycontrol") QueryControl queryControl, 
        @FormParam("fetchpattern") FetchPattern fetchPattern, 
        @FormParam("loadpattern") LoadPattern loadPattern)
{
    ...
}

假设客户端通过表单发送这些数据,并假设这些是JSON字符串,我如何以正确的方式转换(服务器端)这些JSON字符串?例如,“readcontext”字段的JSON字符串,如何正确转换为OrderReadContext对象?

我正在使用WidlFly 8.2进行部署。 提前谢谢。

1 个答案:

答案 0 :(得分:0)

来自@FormParam文档:

  

带注释的参数的类型T必须:

     
      
  1. 是原始类型
  2.   
  3. 拥有一个接受单个String参数的构造函数
  4.   
  5. 有一个名为valueOf或fromString的静态方法,它接受一个&gt; String参数(例如,参见Integer.valueOf(String))
  6.   
  7. Be List,Set或SortedSet,其中T满足上面的2或3。生成的集合是只读的。
  8.