jersey:如何自定义映射体到bean?

时间:2016-06-03 12:56:26

标签: java jersey jax-rs

我已经将主体内容映射到bean的超级特定逻辑。我尝试使用ParamConverterProvider,但它仅适用于@PathParam@QueryParam等。

有定制映射主体到bean的简单方法吗?

2 个答案:

答案 0 :(得分:0)

在球衣中,它使用提供的阅读器类型从请求主体转换为任意类型。您将要使用您的bean实现MessageBodyReader

请务必使用@Provided为您的阅读器添加注释,并确保它已在您的ApplicationConfig或将自动扫描的包中明确注册。

你不应该注意接受bean的方法:

@Get
...
public Response doGet(MyBeanType bean) {
    ...
}

答案 1 :(得分:0)

另一个(脏!)方法可以接受一个Object并将对象转换为你需要的Pojo-Structure。 这当然取决于交付的结构。只需调试就可以了解对象的外观。

@Get
public Response doSome(Object o){
     if (o instanceof List) { .... }
}

无论如何,最好用John H建议的MessageBodyReader来完成!