泽西:使用application / json和application / x-www-form-urlencoded并测试它

时间:2011-01-07 13:59:11

标签: java jersey

我一直试图弄清楚是否可以在jersey资源中将json或表单数据发布到“相同”方法。以下资源是否正确?如果是,我该怎么测试呢。我一直在努力设置Content-type并获取bean的上下文但它失败了。

@Path("sample")
public class SampleResource {
  @POST
  @Consumes({MediaType.APPLICATION_JSON, 
     MediaType.APPLICATION_XML, MediaType.APPLICATION_FORM_URLENCODED})
  public void post(Bean b) {
    // Get reference to the bean.
  }
}

1 个答案:

答案 0 :(得分:1)

只有当@XmlRootElement注释附加到Bean类时,Jersey才能将JSON或XML转换为Bean实例(除非您编写了自己的MessageBodyReader)。 Jersey不知道如何将表单数据转换为Bean,因此您必须编写自己的MessageBodyReader。