gpt4 book ai didi

java - 灰熊队 Jersey : Getting MessageBodyWriter not found for media type=application/json

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:53:21 24 4
gpt4 key购买 nike

请耐心等待我,我知道已经有很多这样的问题而且我无法解决我的问题,这些问题看起来很基本而且我不确定缺少什么(花了几个小时试图解决这个问题) .我使用以下 Maven 原型(prototype)来生成项目:

mvn archetype:generate -DarchetypeArtifactId=jersey-quickstart-grizzly2 -DarchetypeGroupId=org.glassfish.jersey.archetype

在 pom.xml 文件中,我已经取消注释 moxy 依赖以支持 JSON

<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-moxy</artifactId>
</dependency>

然后我添加了一个类,Person 如下:

import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement
public class Person {

private String firstName;
private String lastName;

public Person(String firstName, String lastName) {
this.firstName = firstName;
this.lastName = lastName;
}

public String getFirstName() {
return firstName;
}

public void setFirstName(String firstName) {
this.firstName = firstName;
}

public String getLastName() {
return lastName;
}

public void setLastName(String lastName) {
this.lastName = lastName;
}
}

MyResource.java 如下所示:

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

@Path("myresource")
public class MyResource {

@Path("/person")
@GET
@Produces(MediaType.APPLICATION_JSON)
public Person getPerson() {
return new Person("FistName","LastName");
}

}

然后我启动应用程序并发出以下命令以检索人员:

http://localhost:8080/myapp/myresource/person

设置看起来很简单,但这并没有用,除了以下异常(exception):

org.glassfish.jersey.message.internal.WriterInterceptorExecutor$TerminalWriterInterceptor aroundWriteTo SEVERE: MessageBodyWriter not found for media type=application/json, type=class jersey.grizzly.Person, genericType=class jersey.grizzly.Person.

我一直无法弄清楚我错过了什么(并且已经查看了许多建议的答案但无济于事)并且可以使用另一组眼睛/视角。

最佳答案

鉴于 MOXy 是 JAXB 的派生物,并且 JAXB 的类型需要无参数(默认)构造函数,因此您的模型类中应该有一个无参数构造函数。

另见

关于java - 灰熊队 Jersey : Getting MessageBodyWriter not found for media type=application/json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38156876/

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