我使用球衣并在我的 Resource 类中有一个具有多个参数的方法。这些参数是使用填充的,@FormParam
但问题是,参数的类型是自定义 java 类型,而不是一些原语或String
. 我想将参数的值从转换json
为自定义 java 类型。如果我使用@Cosume(MediaType.APPLICATION_JSON)
,那么我不能使用多个参数,如果我删除它,参数不能从 json 转换为它们的 java 实例。
@POST @Path("/add")
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
@Produces(MediaType.APPLICATION_JSON)
public String add(@FormParam("source") BookEntity source, @FormParam("author") AuthorEntity a) throws JsonGenerationException, JsonMappingException, IOException, TransformationException
{
...
}
如果我将参数类型更改为String
然后使用 Jackson 反序列化,我可以将 json 参数反序列化为 java 实例,但我也想为其他方法执行此操作并自动完成。
我尝试使用自定义 Java 类型中使用的方法来使用请求参数,但我无法使其工作。