技术栈:Java 1.6、JAXB、Spring 3、JAX-RS (RESTEasy)、XSD
你好,
我正在使用带有 JAX-RS 的 Spring 来创建 RestFul Webservice。
一切正常,除了生成的响应包含设置器信息,例如
{
...
"setName": true,
"setId": true,
"setAddress": true,
"setAge": true,
}
我不知道这可能是什么原因造成的?我怎样才能关闭它?
阿迪
更新 1:
PersonRequest 类由 JAXB 生成并包含所有 javax.xml.bind.annotation.* 注释。
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = { "personResponse " })
@XmlRootElement(name = "PersonResponse ")
public class PersonResponse {
@XmlElement(name = "Name", required = true)
protected String name;
@XmlElement(name = "Id", required = true)
protected String id;
// and the setters and getters
}
资源看起来像这样:
@Component
@Path("/person")
public class PersonImpl implements Person {
@Override
@GET
@Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, "application/x-amf" })
@Path("v1")
public PersonResponse getPerson() {
....
....
}
}
** 更新 2 ** 仅当 Content-Type 为 json 时才会发生这种情况,如果 Content Type 为“xml”,则不返回 setter。如果这有帮助。