Я хочу использовать Jackson в качестве провайдера JSON для моего веб-сервиса JAX-RS 2.0. Для JAX-RS я использую Jersey 2.0 в GlassFish 4. С JAX-RS 1.x я могу добавить
<init-param>
<param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
<param-value>true</param-value>
</init-param>
в моем web.xml
. Как я могу сделать это в Jax-RS 2.0 с помощью Джерси 2.0?
Я реализую класс приложения, подобный этому
public class MyRESTExampleApplication extends ResourceConfig {
public MyRESTExampleApplication() {
packages("com.carano.fleet4all.restExample");
register(JacksonFeature.class);
}
}
и добавьте эти строки в мой web.xml
.
<init-param>
<param-name>javax.ws.rs.Application</param-name>
<param-value>com.example.restExample.MyRESTExampleApplication</param-value>
</init-param>
Но я получаю исключение по запросу org.glassfish.jersey.message.internal.MessageBodyProviderNotFoundException: MessageBodyWriter не найден для типа media = application/json, type = class...
Мой pom.xml
выглядит следующим образом
<dependencies>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-server</artifactId>
<version>2.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-json-jackson</artifactId>
<version>2.0</version>
<scope>provided</scope>
</dependency>
</dependencies>