gpt4 book ai didi

java - 未找到 jersey.api.MessageException 消息正文编写器和 MIME 媒体类型文本/xml

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:30:01 25 4
gpt4 key购买 nike

数据是一个名为“QueryResponse”的对象,它又拥有一个名为“Todos”的对象列表。

我收到这个错误:

javax.ws.rs.WebApplicationException: com.sun.jersey.api.MessageException: A message  body writer for Java class java.util.ArrayList, and Java type java.util.List<de.vogella.jersey.todo.model.Todo>, and MIME media type text/xml was not found

我有这个 Jersey 获取方法:

@GET
@Produces({"application/xml", "application/json"})
public QueryResponse getTodos() {

List todos = new ArrayList();
todos.addAll(TodoDao.instance.getModel().values());
return new QueryResponse(todos);
}

这就是 QueryResponse 对象:

@XmlRootElement

public class QueryResponse {
@XmlElementWrapper(name = "Todos")
@XmlElement(name = "Todo")
private List<Todo> todolist;
public QueryResponse(List<Todo> todolist)
{
this.todolist = todolist;
}

public void setTodolist(List<Todo> todolist)
{
this.todolist = todolist;
}
public List<Todo> getTodolist( )
{
return this.todolist;
}
}

这是 Todo 类:

public class Todo
{


private int id;
private String summary;
private String Description;

public Todo()
{
}

public Todo(int id, String summary)
{
this.id = id;
this.summary = summary;
}
public int getId() {
return this.id;
}
public void setId(int userID) {
this.id = userID;
}
public String getSummary() {
return this.summary;
}
public void setSummary(String summary) {
this.summary = summary;
}
public String getDescription() {
return this.Description;
}
public void setDescription(String description) {
this.Description = description;
}
}

感谢您的帮助。

最佳答案

执行以下操作:

  1. >注释 public void getTodolist(List<Todo> todolist)带有以下注释:@XmlElementRef
  2. 使用以下注释对您的 QueryResponse 进行注释:@XmlSeeAlso({Todo.class})

关于java - 未找到 jersey.api.MessageException 消息正文编写器和 MIME 媒体类型文本/xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15493847/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com