如何将哈希集添加到 java 中的 javax.ws.rs.core.Response
how to add a Hashset to a javax.ws.rs.core.Response in java
我正在尝试将哈希集嵌入到 javax.ws.rs.core.Response
的实体中
例如:
@GET
@Path("someting...")
@Produces("application/xml")
public Response getStuff( ... ...) {
Set<customisedClass> stuff = retrieveMethod(xx);
return Response.ok().entity(stuff).build()
这会给我:
Could not find MessageBodyWriter for response object of type: java.util.HashSet of media type: application/xml
有人知道我该怎么做吗? "customisedClass" 已经被正确注释。
谢谢
您应该将集合包装在另一个 class 中,类似于以下内容 XML:
<employees>
<employee>
<name>Gates</name>
</employee>
<employee>
<name>Bill</name>
</employee>
<employees>
实现这个:
@XmlRootElement(name = "employees")
@XmlAccessorType (XmlAccessType.FIELD)
public class Employees
{
@XmlElement(name = "employee")
private Set<Employee> employees = null;
public Set<Employee> getEmployees() {
return employees;
}
public void setEmployees(Set<Employee> employees) {
this.employees = employees;
}
}
然后将 Employees 设置为 Response 对象。这是通常的做法。
我正在尝试将哈希集嵌入到 javax.ws.rs.core.Response
的实体中例如:
@GET
@Path("someting...")
@Produces("application/xml")
public Response getStuff( ... ...) {
Set<customisedClass> stuff = retrieveMethod(xx);
return Response.ok().entity(stuff).build()
这会给我:
Could not find MessageBodyWriter for response object of type: java.util.HashSet of media type: application/xml
有人知道我该怎么做吗? "customisedClass" 已经被正确注释。
谢谢
您应该将集合包装在另一个 class 中,类似于以下内容 XML:
<employees>
<employee>
<name>Gates</name>
</employee>
<employee>
<name>Bill</name>
</employee>
<employees>
实现这个:
@XmlRootElement(name = "employees")
@XmlAccessorType (XmlAccessType.FIELD)
public class Employees
{
@XmlElement(name = "employee")
private Set<Employee> employees = null;
public Set<Employee> getEmployees() {
return employees;
}
public void setEmployees(Set<Employee> employees) {
this.employees = employees;
}
}
然后将 Employees 设置为 Response 对象。这是通常的做法。