java - 使用 XML 的 REST Web 服务

标签 java xml web-services rest

我正在学习 REST Web 服务,并对一些概念感到困惑。 我想创建一个使用 XML 的 RESTful Web 服务,例如:

<?xml version="1.0" encoding="UTF-8"?>
<emp:EmployeeEntry xmlns:emp="http://www.employee/entry">
  <emp:number>12345</emp:number>
  <emp:name>George</emp:name>
  <emp:date>2015-04-03</emp:date>
  <emp:address>
    <emp:city>Paris</emp:city>
    <emp:street>East 35</emp:street>
  </emp:address>
</emp:EmployeeEntry>

那么,如果我想创建一个使用此 XML 的静态 Web 服务,我的方法的签名将如何?

    public creatEmp(XML xml);   

应该是这样吗? (因为我看到了一些使用 XML 的方法的示例,但它们将参数作为主要条目对象,例如;Employee 我不明白使用 XML 的方法如何接受实体对象作为参数)

此外,如果该方法以 XML 作为参数,我是否必须在该方法中实现解析逻辑,然后从中创建 Employee 对象并启动主要创建逻辑?

我有一些知识差距,请给我推荐一些例子或一些好的教程。

最佳答案

您不需要将输入参数指定为 XML 字符串,例如 JAX-RS 会自动为您进行转换。

请参阅下面的示例:

@Path("/employee")
public class EmployeeService {
    @GET
    @Path("/get")
    @Produces("application/xml")
    public Employee getEmployee() {
        Employee emp = new Employee();
        emp.setName("Test Employee");
        return emp;
    }

    @POST
    @Path("/create")
    @Consumes("application/xml")
    public Response createEmployee(Employee emp) {
        // Write your code here to save the employee
    }
}

您可以查看this link了解更多信息。

关于java - 使用 XML 的 REST Web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25825577/

相关文章:

java - 如何使用Java8流获取最后一个元素和第一个元素的值之间的差异?

java - 如何使用 Appium 为 Android Studio for java 中的第一个 Activity 以外的 Activity 编写自动化测试

javascript - 有没有人有 "start"和 "duration"匹配视频持续时间的 XML 字幕的视频时间算法示例?

java - jaxb 中两个不同但名称相同的元素

java - 何时调用 Web 服务构造函数? [Java Netbeans 6.7.1 和 Tomcat 6.0.18]

javascript - 使用开放层打印 SOS 服务的响应

java - 如何从maven命令行读取环境变量并选择正确的属性文件

java - 如何使用 gradle 对多个嵌入式服务器运行 spring-boot 集成测试

来自 xml 的 Android 本地化字符串

ios - JSON POST 在 iO 中不起作用