我正在学习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对象并启动主创建逻辑?
我有一些知识空白,请给我一些例子或一些好的教程。
答案 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了解详情。