在Apache Tomcat 8中获得500错误。
使用此文本(以Tomcat的方式设置样式):
HTTP状态500 - 内部服务器错误 类型状态报告
消息内部服务器错误
description服务器遇到阻止它的内部错误 完成此请求。
Apache Tomcat / 8.0.20
Tomcat正在从Eclipse Luna运行。
我使用的相关代码是:
@GET
@Path("-{index}")
@Produces({"application/json"})
public MyCustomModelObject getDataByIndex(@PathParam("index") int index){
return ArrayOfMyCustomModelObjects[index];
}
不返回JSON数据,而是返回500页,但不输出任何消息。 此外,没有错误输出到Eclipse控制台。
然而,如果我将@Produces更改为
@Produces({"application/xml"})
它返回xml就好了。
任何帮助解决这个问题都将受到赞赏。
很高兴提供进一步的信息以帮助排除故障。
编辑:
import java.util.Date;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement
public class MyCustomModelObject {
@XmlElement(name = "categories")
private String[] category;
@XmlElement(name = "")
private String author;
@XmlElement(name = "date")
private Date date;
public MyCustomModelObject(){};
public MyCustomModelObject(String[] category, String author,
Date date) {
super();
this.category = category;
this.author = author;
this.date = date;
}
public String[] getCategory() {
return category;
}
public void setCategory(String[] category) {
this.category = category;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
}
答案 0 :(得分:0)
想出来。其中一个字段的@XmlElement标记(name =“”)中有一个空字符串。 一旦我给它起了一个名字,问题就消失了,JSON数据被适当地返回了。