2

如何创建自己的 xml 数据以在 Java 中与 Restful Web 服务一起使用?我确实使用创建了一个字符串文件,StringBuilder但是当我尝试在客户端使用时,总是会出现从其中提取属性的问题,总是会出现错误。

下面列出的是我的代码;

Employee emp0 = new Employee("David", "Finance");
Employee emp1 = new Employee("Smith", "HealthCare");
Employee emp2 = new Employee("Adam", "Information technology");
Employee emp3 = new Employee("Stephan", "Life Sciences");

map.put("00345", emp0);
map.put("00346", emp1);
map.put("00347", emp2);
map.put("00348", emp3);

@GET
@Path("{id}")
@Produces({"application/xml"})
public String find(@PathParam("id") String id) {

    Employee emp = (Employee) map.get(id);
    if (emp != null) {
        StringBuilder br = new StringBuilder();
        br.append("<?xml version='1.0' encoding='UTF-8'?>").append(nl);
        br.append("<Employee>").append(nl);
        br.append("<Emp-ID>").append(id).append(" </Emp-ID >").append(nl);
        br.append("<Name>").append(emp.getName()).append(" </Name>").append(nl);
        br.append("<dept>").append(emp.getDept()).append(" </Department>").append(nl);
        br.append("</Employee>");
        return br.toString();
    } else {
        return "Unknown id";
    }
}

我有一个名为 Employee 的 POJO,其名称和部门也作为属性。谢谢。

4

2 回答 2

1

我建议您在 Employee 类上使用 JAXB 注释,而不是这个 stringbuilder 练习。
这个链接应该可以帮助你开始
,这个链接应该回答任何进一步的问题

于 2012-12-28T03:45:17.347 回答
0

如果您在类@XmlRootElement(name="Employee")上添加注释,Employee则可以执行以下操作:

@GET
@Path("{id}")
@Produces({"application/xml"})
public Employee find(@PathParam("id") String id) {

    return (Employee) map.get(id);

}

然后@XmlElement注释可用于覆盖元素名称。您还可以利用 JAX-RSResponse对象返回状态代码而不是String错误消息。

了解更多信息

于 2012-12-28T11:49:46.687 回答