您需要一个JSON提供程序
在撰写本文时,Jersey 2.x与以下模块集成以提供JSON支持:
- 莫西
- JSON处理的Java API(JSON-P)
- 杰克逊
- 抛弃
使用杰克逊
请参阅以下将Jackson用作Jersey 2.x的JSON提供程序所需的步骤:
添加Jackson模块依赖项
要将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.25.1</version></dependency>
要使用Jackson 1.x,它将类似于:
<dependency> <groupId>org.glassfish.jersey.media</groupId> <artifactId>jersey-media-json-jackson1</artifactId> <version>2.25.1</version></dependency>
注册Jackson模块
除了添加上述依赖之外,您还需要在/
子类中注册
JacksonFeature(或
Jackson1Feature对于Jackson
1.x):
Application
ResourceConfig
@ApplicationPath("/api")public class MyApplication extends Application { @Override public Set<Class<?>> getClasses() { Set<Class<?>> classes = new HashSet<Class<?>>(); classes.add(JacksonFeature.class); return classes; }}@ApplicationPath("/api")public class MyApplication extends ResourceConfig { public MyApplication() { register(JacksonFeature.class); }}如果没有
Application/
ResourceConfig子类,则可以
JacksonFeature在
web.xml部署描述符中注册。可以在初始化参数的
逗号分隔值
中提供特定的资源,提供者和功能完全合格的类名称
jersey.config.server.provider.classnames。
<init-param> <param-name>jersey.config.server.provider.classnames</param-name> <param-value>org.glassfish.jersey.jackson.JacksonFeature</param-value></init-param>
在
MessageBodyWriter杰克逊提供的是
JacksonJsonProvider。
有关更多详细信息,请参阅Jersey
文档中有关常见媒体类型表示形式的支持。



