如何解决是否可以为单个 Spring Rest 端点自定义 ObjectMapper?
我知道如何自定义默认的 ObjectMapper
bean。但是对于一个特定的控制器/端点,我想使用不同的对象映射器。我该怎么做?
我认为我的问题与此 one 类似,但目前还没有答案。很高兴在那里得到答案并将其标记为重复
解决方法
@xerx593 提供了一个很好的解决方案,链接在问题的评论中,但我采用了不同的方法,因为我返回的是通用的 Map<String,Object>
graphql 返回类型,而且我对更改媒体类型或将对象映射器应用于所有 Map
。我更喜欢他们针对一般情况的解决方案,因为它更优雅
我只是将返回对象序列化为字符串并返回。
例如,我变成这样
@GetMapping(produces = MediaType.APPLICATION_JSON_VALUE)
public Foo getFoo() {
return new Foo();
}
像这样
private ObjectMapper customMapper = ...;
@GetMapping(produces = MediaType.APPLICATION_JSON_VALUE)
public String getFoo() {
return customMapper.writeValueAsString(new Foo());
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。