Eclipse控制台

时间:2015-04-24 02:15:19

标签: java json eclipse rest tomcat

在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;
    }
}

1 个答案:

答案 0 :(得分:0)

想出来。其中一个字段的@XmlElement标记(name =“”)中有一个空字符串。 一旦我给它起了一个名字,问题就消失了,JSON数据被适当地返回了。