我应该依靠哪个 maven 工件来替换 jackson-jaxrs-json-provider



我打算用MOXy的东西代替jackson-jaxrs-json-provider。我试图评论MOXy是GlassFish 4中的新默认JSON绑定提供程序,但没有运气。

我的堆栈如下。

Jersey
Spring
MyBatis

我正在使用jackson-jaxrs-json-provider并提供自定义ContextResolver

@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
//@Provider
public class ObjectMapperContextResolver
    implements ContextResolver<ObjectMapper> {
    public ObjectMapperContextResolver() {
        super();
        objectMapper = new ObjectMapper()
            .configure(MapperFeature.USE_WRAPPER_NAME_AS_PROPERTY_NAME, true);
        objectMapper.registerModule(new JaxbAnnotationModule());
    }
    @Override
    public ObjectMapper getContext(final Class<?> type) {
        return objectMapper;
    }
    private final ObjectMapper objectMapper;
}

我的问题是

  1. 我应该依靠哪个 Maven 神器来替换jackson-jaxrs-json-provider?是com.eclipsesource.jaxrs:provider-moxy吗?
  2. 这是上面链接中所述的正确工作方式吗?请注意,我的模块不是用于全功能 AS,而是用于 Tomcat。
  1. 我应该依靠哪个 maven 神器来替换jackson-jaxrs-json-provide?是com.eclipsesource.jaxrs:provider-moxy吗?

你应该使用

<dependency>
    <groupId>org.glassfish.jersey.media</groupId>
    <artifactId>jersey-media-moxy</artifactId>
    <version>${jersey.version}</version>
</dependency>
  1. 这是上面链接中所述的正确工作方式吗?请注意,我的模块不是用于全功能 AS,而是用于 Tomcat。

不太确定你在这里问什么,但jersey-media-moxy工件不使用/依赖杰克逊。因此,您对ObjectMapper的使用是行不通的。 与MOXy(JSON)ContextResolvers,将包括使用MoxyJsonConfig

对于此工件的其他配置,您提供的链接是一个好地方,也是使用 MOXy 的泽西岛用户指南

最新更新