【问题标题】:Apache 500 error without output in Eclipse consoleEclipse 控制台中没有输出的 Apache 500 错误
【发布时间】:2015-04-24 02:15:19
【问题描述】:

在 Apache Tomcat 8 中出现 500 错误。

使用此文本(样式与 Tomcat 相同):

HTTP 状态 500 - 内部服务器错误 输入状态报告

消息内部服务器错误

描述服务器遇到阻止它的内部错误 完成此请求。

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

【问题讨论】:

  • 能否贴出ArrayOfMyCustomModelObjects 的实现。
  • 要调试,写一个ExceptionMapper<Throwable>。打印堆栈跟踪异常。我认为这应该为您提供有关该问题的更多信息。如果有的话,请发布堆栈跟踪后记。
  • 为什么@XmlElement(name = "")的元素名是空的?
  • @peeskillet 我注意到在您发表评论前一两分钟。我测试并解决了问题,然后当我写答案时(我自己的愚蠢错误),我看到了你的评论。感谢您的帮助。

标签: java json eclipse rest tomcat


【解决方案1】:

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

【讨论】:

  • 令人不安的是没有引发错误。这就是我对 PHP 所期望的那种被动攻击性的公牛$&!+。
猜你喜欢
  • 2013-09-01
  • 1970-01-01
  • 2020-05-16
  • 1970-01-01
  • 1970-01-01
  • 2015-08-31
  • 1970-01-01
  • 2014-05-02
  • 1970-01-01
相关资源
最近更新 更多