我正在尝试使用Jersey创建一个非常简单的REST服务。这是服务代码
@Path("/UserService")
public class UserService {
@GET
@Path("/users")
@Produces(MediaType.APPLICATION_XML)
public List<User> getUsers() {
User user = new User(1, "Thomas", "Greene");
List<User> userList = new ArrayList<User>();
userList.add(user);
return userList;
}
}
当我通过Postman运行它时,它会返回一个XML响应
现在,我想找回JSON响应。因此,我将媒体类型更改为application/json
:
@Path("/UserService")
public class UserService {
@GET
@Path("/users")
@Produces(MediaType.APPLICATION_JSON)
public List<User> getUsers(){
User user = new User(1, "Thomas", "Greene");
List<User> userList = new ArrayList<User>();
userList.add(user);
return userList;
}
}
它在Tomcat日志中给我以下错误:
严重:找不到媒体类型= application / json,类型= class java.util.ArrayList,genericType = java.util.List的MessageBodyWriter。
有人可以指导我如何获取JSON响应吗?
要将Jackson 2.x用作JSON提供程序,您需要将jersey-media-json-jackson
模块添加到pom.xml
文件中:
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-json-jackson</artifactId>
<version>2.22.2</version>
</dependency>
然后JacksonFeature
在您的Application
/ResourceConfig
子类中注册。
有关更多详细信息,请参阅Jersey文档。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句