gpt4 book ai didi

java - Jersey - 返回 XmlRootElement/Entities 列表 - 未找到 MessageBodyWriter

转载 作者:太空宇宙 更新时间:2023-11-04 06:36:27 25 4
gpt4 key购买 nike

此类 JAX-RS 序列化雪花有一百万个。让我再添加一个。

我有一个 JPA/JAXb 带注释的类:

@Entity
@XmlRootElement
public class Foo implements Serializable {
//..
}

我有一个服务试图以 JSON 形式返回这些对象的列表:

@Path("foo")
public class FooService {

@GET
@Produces(MediaType.APPLICATION_JSON)
public Response listFoos() {
// get hibernate session
List<Foo> foos = session.createQuery("from Foo").list();
GenericEntity<List<Foo>> entity = new GenericEntity<List<Foo>>(foos) {};
return Response.ok(entity).build();
}
}

我尝试了多种变体。对我来说看起来最好的一个就像

    @GET
@Produces(MediaType.APPLICATION_JSON)
public List<Foo> listFoos() {
// get session ..
return session.createQuery("from Foo").list();
}

所有这些都给我一些细微的变化:

SEVERE: MessageBodyWriter not found for
media type=application/json, type=class java.util.ArrayList,
genericType=java.util.List<com.bar.baz.Foo>.

最佳答案

不要忘记添加依赖项,例如:

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

关于java - Jersey - 返回 XmlRootElement/Entities 列表 - 未找到 MessageBodyWriter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25318863/

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