java - REST Web 服务如何工作

标签 java rest

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

@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 出现在浏览器上之间发生了什么?

感谢阅读!

最佳答案

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

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

关于java - REST Web 服务如何工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11773126/

相关文章:

java - Docker Image 无法正常启动

rest - 正确的 ReST URI 设计

java - 休息API : advice on using separate endpoint or adding a RequestParam

spring - 如何在@Controller 中提取身份验证 token

java - 如何在 hibernate 中映射自动增量字段?

java - 使用 Java 上传到 FTP

java - 如何测试内部创建和使用 ServerSocket 的方法

java - Java 中的日期比较

rest - 这里 API 返回 Unrecognized Kid Null 错误

javascript - 从文件 express js 提供 json