@GetMapping("/{id}")
@ResponseBody
XXDto findById(@PathVariable String id) {
return service.findById(id); // 此处如果返回 null,相应的转换没有做
}
@Configuration
public class HttpMessageConverter {
@Bean
public MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter() {
return new MappingJackson2HttpMessageConverter() {
@Override
protected void writePrefix(JsonGenerator generator, Object object) throws IOException {
if (object instanceof ArrayList) {
List list = (List) object;
if (!list.isEmpty()) {
if (list.get(0) instanceof SwaggerResource) {
super.writePrefix(generator, object);
return;
}
}
}
if (object instanceof Json || object instanceof SecurityConfiguration || object instanceof UiConfiguration) {
super.writePrefix(generator, object);
return;
}
generator.writeRaw("{\"code\": 0, \"result\": ");
super.writePrefix(generator, object);
}
@Override
protected void writeSuffix(JsonGenerator generator, Object object) throws IOException {
if (object instanceof ArrayList) {
List list = (List) object;
if (!list.isEmpty()) {
if (list.get(0) instanceof SwaggerResource) {
super.writeSuffix(generator, object);
return;
}
}
}
if (object instanceof Json || object instanceof SecurityConfiguration || object instanceof UiConfiguration) {
super.writeSuffix(generator, object);
return;
}
generator.writeRaw("}");
super.writeSuffix(generator, object);
}
};
}
}
当上述 1 中方法返回 null 时,2 中的 writePrefix 和 writeSuffix 不会被调到?有什么办法解决这个问题吗?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.