gpt4 book ai didi

java - Restful Web 服务,Tomcat 错误 500

转载 作者:行者123 更新时间:2023-11-28 22:53:16 25 4
gpt4 key购买 nike

我遇到了以下问题。我正在用 java 和 tomcat 编写一个 Restful 应用程序。到目前为止,这工作正常。例如:

@GET
@Path("/String/")
@Produces(MediaType.APPLICATION_JSON)
public String getText()
{
String data = dothat();
return data;
}

(dothat(); 连接到 java 服务器,获取一个字符串并返回它)。当我在浏览器中调用此方法时,我可以看到返回的字符串。

然而,当我变得有点复杂并在列表中使用自己的类时:

@GET
@Path("/test/")
@Produces(MediaType.APPLICATION_XML)
static public Response test3()
{
List<GpioPin> list = new ArrayList<GpioPin>();

GpioPin one = new GpioPin(0, "HIGH", "GPIO-5");
GpioPin two = new GpioPin(1, "LOW", "GPIO-1");

list.add(one);
list.add(two);

GenericEntity<List<GpioPin>> result = new GenericEntity<List<GpioPin>>(list) {
};

return Response.status(Status.OK).entity(result).build();
}

我收到错误 500 代码。

Myclass GpioPin:

@XmlRootElement
public class GpioPin implements Serializable
{
/**
*
*/
private static final long serialVersionUID = -7583074316192202903L;
private int boardPosition;
private String gpioStatus;
private String gpioPort;



public GpioPin(int pos,String pinstate,String gpioPo)
{
boardPosition=pos;
gpioStatus=pinstate;
gpioPort=gpioPo;
}
public int getBoardPosition() {
return boardPosition;
}
public void setBoardPosition(int boardPosition) {
this.boardPosition = boardPosition;
}
public String getGpioStatus() {
return gpioStatus;
}
public void setGpioStatus(String gpioStatus) {
this.gpioStatus = gpioStatus;
}

public void setGpioPort(String gpioPort) {
this.gpioPort = gpioPort;
}

public String getGpioPort() {
return gpioPort;
}
}

最奇怪的是:我没有收到任何错误消息...无论是在下面的 brwoserimg 中还是在 Tomcat 创建的任何日志中。 Error 500 without stacktrace

在阅读了此处有关登录 Tomcat 的几个线程后,我设法将日志记录交换到 log4j。但是调试级别的 log4j 也没有告诉我任何关于错误的信息。

我无法解决这个问题。有人有想法吗?

最佳答案

您肯定需要更正您的日志记录,因为这将为您提供有关问题所在的线索。

我会在黑暗中拍摄,并说您需要从 test3() 方法中删除“static”关键字。所以它看起来像这样:

@GET
@Path("/test/")
@Produces(MediaType.APPLICATION_XML)
public Response test3()
{
List<GpioPin> list = new ArrayList<GpioPin>();

GpioPin one = new GpioPin(0, "HIGH", "GPIO-5");
GpioPin two = new GpioPin(1, "LOW", "GPIO-1");

list.add(one);
list.add(two);

GenericEntity<List<GpioPin>> result = new GenericEntity<List<GpioPin>>(list) {
};

return Response.status(Status.OK).entity(result).build();
}

关于java - Restful Web 服务,Tomcat 错误 500,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33929211/

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