【问题标题】:Converting data sent from the client with RESTeasy使用 RESTeasy 转换从客户端发送的数据
【发布时间】:2015-05-12 08:02:18
【问题描述】:

我正在使用 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 进行部署。 提前致谢。

【问题讨论】:

    标签: json jakarta-ee post resteasy


    【解决方案1】:

    来自@FormParam 文档:

    注解参数的类型 T 必须是:

    1. 成为原始类型
    2. 有一个接受单个字符串参数的构造函数
    3. 有一个名为 valueOf 或 fromString 的静态方法,它接受单个 >String 参数(例如,请参见 Integer.valueOf(String))
    4. 是 List、Set 或 SortedSet,其中 T 满足上述 2 或 3。生成的集合是只读的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-23
      • 2017-04-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多