使用XML的REST Web服务

时间:2014-09-13 17:05:09

标签: 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的方法示例,但是他们将参数作为主要的entiry对象,例如; Employee我不了解消费XML的方法如何接受和Entity对象作为参数)

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

我有一些知识空白,请给我一些例子或一些好的教程。

1 个答案:

答案 0 :(得分:1)

您不需要将输入参数指定为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了解详情。