MessageBodyWriter not found for media type=application/json ,添加 Jackson 依赖性问题仍然存在
MessageBodyWriter not found for media type=application/json ,added Jakson dependency still issue persisit
我正在创建 restful 网络服务,我正在尝试获得 json 响应,但未找到消息编写器 exception.In Jersey 网站提到使用 Jakson 依赖项 application/JSON 所以我用它仍然得到同样的错误。对于响应类型 application/xml,它工作正常。
这些是 POM 中可用的依赖项,仍然找不到消息编写器 exception.Can 任何人请帮助 -
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-json-jackson</artifactId>
<version>2.2</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet</artifactId>
<version>2.2</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.test-framework.providers</groupId>
<artifactId>jersey-test-framework-provider-grizzly2</artifactId>
<version>2.2</version>
</dependency>
public class UserServiceTest extends JerseyTest {
@Override
protected Application configure(){
ResourceConfig resourceConfig=new ResourceConfig(UserService.class);
return resourceConfig;
}
@Test
public void test(){
String output=target("/users/test").request().get(String.class);
System.out.println(output);
//assertEquals("abc",output);
Assert.assertEquals("abc",output);
}
}
在 Jersey 2.9 之前,您需要注册 JacksonFeature
(之后会自动注册)。在您的情况下,只需使用 ResourceConfig
注册它
resourceConfig.register(JacksonFeature.class)
ResourceConfig
仅用于配置服务器端。对于客户端,您可以注册
等功能
@Override
public void configureClient(ClientConfig config) {
config.register(JacksonFeature.class)l
}
在你的 JerseyTest
.
我正在创建 restful 网络服务,我正在尝试获得 json 响应,但未找到消息编写器 exception.In Jersey 网站提到使用 Jakson 依赖项 application/JSON 所以我用它仍然得到同样的错误。对于响应类型 application/xml,它工作正常。 这些是 POM 中可用的依赖项,仍然找不到消息编写器 exception.Can 任何人请帮助 -
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-json-jackson</artifactId>
<version>2.2</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet</artifactId>
<version>2.2</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.test-framework.providers</groupId>
<artifactId>jersey-test-framework-provider-grizzly2</artifactId>
<version>2.2</version>
</dependency>
public class UserServiceTest extends JerseyTest {
@Override
protected Application configure(){
ResourceConfig resourceConfig=new ResourceConfig(UserService.class);
return resourceConfig;
}
@Test
public void test(){
String output=target("/users/test").request().get(String.class);
System.out.println(output);
//assertEquals("abc",output);
Assert.assertEquals("abc",output);
}
}
在 Jersey 2.9 之前,您需要注册 JacksonFeature
(之后会自动注册)。在您的情况下,只需使用 ResourceConfig
resourceConfig.register(JacksonFeature.class)
ResourceConfig
仅用于配置服务器端。对于客户端,您可以注册
@Override
public void configureClient(ClientConfig config) {
config.register(JacksonFeature.class)l
}
在你的 JerseyTest
.