我使用泽西并在我的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实例,但我也想对其他方法执行此操作并自动完成。
我尝试使用Custom Java type for consuming request parameters中使用的方法,但我无法使其正常工作。