我试图使用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响应。因此,我将mediatype更改为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;
}
}
在类路径上需要一个json序列化器来实现这一功能。
只要加上杰克逊和泽西将在作家中使用这个。例如。如果您使用的是maven,请将其添加到pom.xml中
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.7.4</version>
</dependency>
每次我尝试调用REST服务时,都会收到以下错误消息 以下是REST服务(剥离到相关部分): JSON类 波姆。xml(有趣的部分) 我的设置是: JDK8/JEE7(build 1.8.0_51-b16) 这就是我迄今为止所尝试的: 找不到媒体类型为application/json的MessageBodyWriter- 我仍然认为这是一个依赖问题。但是我不知道会有什么问题。
设置看起来很简单,但它不起作用,除了以下例外: 我一直无法弄清楚我错过了什么(我已经经历了许多建议的答案,但都无济于事),可以使用另一套眼睛/视角。
我知道有这么多关于这个的问题...但是它们不适合我,我尝试在eclipse中重新安装maven(因为创建一个新的maven项目或转换一个现有的动态web项目给我的pom.xml错误),但它一直说已经安装了...所以我质疑这样一个事实,即不使用maven就可以从rest web服务获得json吗?我已经从ws中获得了string/xml/html,现在我创建了一个新类,如下所示: 我还引用了这些库:
问题内容: 我想将JSON-Post中的值解析为Java-Variables。但是它们总是空的! JSON发布: 我尝试将其解析为Java变量: 如果我这样尝试: Tomcat说: Java类int,Java类型int和MIME媒体类型application / json的消息正文阅读器;找不到字符集= UTF-8。 任何帮助都很好,我只是不明白。 问题答案: 您需要创建一个POGO,Jersey
我正在使用JAX RS 2创建Rest客户端。客户端可以工作,但只有在我的IDE(IntellIJ IDEA)中,当我用Maven构建它时,使用Maven汇编插件并运行jar,它就不再工作了。 我收到的MessageBodyWriter找不到媒体类型=应用程序/json错误。 我尝试过添加其他帖子中建议的更多依赖项,但我不认为依赖项是一个问题,因为它在IDE中运行。 下面是引发异常的代码 调试后,
我在使用JAX-RS服务作为JSON时遇到了一些问题。