无法获取get请求的XML响应
我正在尝试使用JAX-RS实现GET请求,以按照 我已经在模型类中包含了@XmlRootElement。即使这样,我还是收到了500内部服务器错误,并且在控制台中没有看到任何错误消息 如果我使用MediaType.APPLICATION_JSON,我会在浏览器上获得get请求的输出,但如果我使用MediaType.APPLICATION_XML,则不会 以下是课程:无法获取get请求的XML响应,xml,rest,jersey,jax-rs,httprequest,Xml,Rest,Jersey,Jax Rs,Httprequest,我正在尝试使用JAX-RS实现GET请求,以按照 我已经在模型类中包含了@XmlRootElement。即使这样,我还是收到了500内部服务器错误,并且在控制台中没有看到任何错误消息 如果我使用MediaType.APPLICATION_JSON,我会在浏览器上获得get请求的输出,但如果我使用MediaType.APPLICATION_XML,则不会 以下是课程: package org.dhivyaudayakumar.itmd566.dhivya.resources; import j
package org.dhivyaudayakumar.itmd566.dhivya.resources;
import java.util.List;
import javax.ws.rs.*;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import org.dhivyaudayakumar.itmd566.dhivya.model.Message;
import org.dhivyaudayakumar.itmd566.dhivya.service.MessageService;
@Path("/messages")
public class MessageResource {
MessageService messageService = new MessageService();
@GET
@Produces(MediaType.APPLICATION_XML)
public List<Message> getMessages() {
return messageService.getAllMessages();
}
}
我在pom.xml中有以下依赖项:
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet-core</artifactId>
<!-- use the following artifactId if you don't need servlet 2.x compatibility -->
<!-- artifactId>jersey-container-servlet</artifactId -->
</dependency>
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-jaxb</artifactId>
</dependency>
<!--Below dependency for JSON support-->
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-moxy</artifactId>
</dependency>
org.glassfish.jersey.containers
jersey容器servlet核心
org.glassfish.jersey.media
泽西媒体jaxb
org.glassfish.jersey.media
泽西媒体公司
根据教程,不需要包含任何xml输出依赖项,但我搜索了internet并添加了jaxb依赖项,但这无助于解决问题。
有人能帮我弄清楚吗 您是否检查了控制器是否被调用。现在试着在控制器中记录或打印一些东西,看看你们的流程在哪里工作,若你们得到了某种错误,那个么就为它提供完整的堆栈跟踪。
package org.dhivyaudayakumar.itmd566.dhivya.model;
import java.util.Date;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement
public class Message {
public long id;
public String message;
public Date created;
public String author;
public Message() {
}
public Message(long id, String message, String author) {
this.id = id;
this.message = message;
this.author = author;
this.created = new Date();
}
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public Date getCreated() {
return created;
}
public void setCreated(Date created) {
this.created = created;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
}
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet-core</artifactId>
<!-- use the following artifactId if you don't need servlet 2.x compatibility -->
<!-- artifactId>jersey-container-servlet</artifactId -->
</dependency>
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-jaxb</artifactId>
</dependency>
<!--Below dependency for JSON support-->
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-moxy</artifactId>
</dependency>