gpt4 book ai didi

java - REST 请求期间 HTTP 状态 500

转载 作者:太空宇宙 更新时间:2023-11-04 13:05:18 26 4
gpt4 key购买 nike

我是 REST Web 服务新手,正在尝试学习它。我有下面的代码,它通过休息调用获取存储在 oracle 表中的消息。

import java.util.List;
import javax.ws.rs.*;
import javax.ws.rs.core.MediaType;
@Path ("/messages")
public class messages {
@GET
@Produces(MediaType.APPLICATION_XML)
public List<Message> getMessages (){
MessageService msg = new MessageService();
System.out.println(msg.getMessages("vulture9"));
return msg.getMessages("vulture9");
}

另一部分是

import java.sql.*;
import java.util.*;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement
public class MessageService {

public MessageService(){
}
public List getMessages(String username){
Connection conn;
List <Map> msgList = new LinkedList<>();
try {
Class.forName ("oracle.jdbc.OracleDriver");
} catch (ClassNotFoundException e1) {
e1.printStackTrace();
}
try {
conn = DriverManager.getConnection("jdbc:oracle:thin:@talon.squadrhino.com:1521:orcl", "oracle", "oracle");
System.out.println("connection successful");
Statement stmt = conn.createStatement();
String sql = "select * from message where author = '" + username +"'";
ResultSet res = stmt.executeQuery(sql);
while (res.next()){
Map <String,String> msg = new LinkedHashMap<>();
msg.put("username", res.getString("author"));
msg.put("message", res.getString("message"));
msgList.add(msg);
}
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
return msgList;
}
}

我正在获取存储在数据库表中的消息并尝试以 XML 格式获取它们。我在 tomcat 日志中看不到任何错误,但浏览器只是返回

以下错误

HTTP Status 500 - Internal Server Error
type Status report
message Internal Server Error
description The server encountered an internal error that prevented it from fulfilling this request.

我不知道在哪里寻找或开始调试..

最佳答案

尝试在您的 Message 类上添加 jaxb 注释。

@XmlElement
public List getMessages(String username){
}

或者只是尝试

import java.util.List;
import javax.ws.rs.*;
import javax.ws.rs.core.MediaType;
@Path ("/messages")
public class messages {
@GET
@Produces(MediaType.APPLICATION_XML)
public String getMessages (){
String res =" test response ";
return res ;
}

有一篇关于 xml 转换和 java 客户端的好文章:http://entityclass.in/rest/jerseyXML.htm

关于java - REST 请求期间 HTTP 状态 500,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34514679/

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