我正在将我的 guice 应用程序转换为 spring,因为我在 @transaction 注释中发现了问题。这样做时,我遇到了使用 spring/resteasy 配置自定义 objectmapper 的问题。我想注册 hibernate4Module (fasterxml jackson) 和自定义解串器。
我在使用 spring mvc 时找到了很多解决方案,但我没有使用 spring mvc。 我正在查看 resteasyboostrap 类,因为在那里你可以控制你的工厂,但我不知道如何在那里注册我的新 SimpleModule。
谁有经验?当我在网上搜索时,似乎没有人试图做同样的事情。也许我找错地方了?
最佳答案
这个问题最终很容易修复。 删除 resteasy-jackson 提供程序并编写一个自定义类,您使用 spring @Component 注释对其进行注释。 Jax-RS 选择提供者并使用提供者中的对象映射器。 我在实现中搜索,但答案在 jax-rs api 中。
@Component
@Provider
@Consumes({"application/*+json", "text/json"})
@Produces({"application/*+json", "text/json"})
public class JacksonProvider extends JacksonJsonProvider {
public JacksonProvider() {
setMapper(new CustomObjectMapper());
}
}
关于java - Resteasy spring 自定义对象映射器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23650166/