3

我有一个如下的休息网络服务:

@GET
@Path("/getPersonDetails/{personId}/{validDate}")
@Produces("application/xml")
  public PersonDetail getPersonDetails(@PathParam("personId") final String personId,@PathParam("validDate") String validDate) {

    PersonDetail p = new PersonDetail;

    //all the processing to set data into object p

    return p;
}

当使用适当的参数从浏览器调用时,此服务将按预期将对象作为 xml 返回。

但是,它在内部如何工作?

从哪里设置 xml 中的标签?

是不是从

1)服务方法内部的局部变量的名称

2)类中类属性的名称

3)类本身的名称

在返回对象的方法和它作为 XML 出现在浏览器上之间会发生什么?

谢谢阅读!

4

1 回答 1

4

XML 结构由Java Architecture for XML Binding生成。它基于类字段创建 XML 标记。当然,这个过程可以定制。有关如何实现此目的的示例,请参阅有关 JAXB 的 Lars Vogels教程。

方法返回后getPersonDetails(),JAX-RS 运行时调用 JAXBMarshaller将方法的返回值转换为 XML 结构,然后将其写回您的 Web 浏览器。

于 2012-08-02T07:55:32.343 回答