1

我想知道 MappingJackson2HttpMessageConverter 将对象(从由注释的控制器方法返回@ResponseBody)转换为 json 所遵循的规则是什么?在某些情况下,我发现只在类路径(pom.xml)上有 Jackson2 就足够了,控制器只需将其对象(例如字符串)或集合(例如List<Employee>成功地以 json 格式返回到浏览器)返回。但是,在其他情况下,我看到该解决方案要求我使用ObjectMapperand use 方法writeValueAsString来获取字符串并将其作为响应返回,例如HashMaps! MappingJackson2HttpMessageConverter 是否有一些隐含的规则来决定它是否能够自己进行转换,或者我需要使用手动进行转换Objectmapper?如果我有一个 pojo 对象,它内部很少String字段,我还需要使用 ObjectMapper 等吗?如果不是,那么如果我的 pojo 类有诸如 someList<CustomObject>和 some HashMaps 之类的字段,我是否需要它?例如:示例 1List<Company>在控制器方法中不使用任何 ObjectMapper 转换为 json。但是,示例 2需要一个ObjectMapperand writeValueAsString?另外,它的返回类型现在是String而不是HashMap

4

1 回答 1

0

如果您使用@RestController 并且类路径中有jackson,那么一切都会处理好。见https://spring.io/guides/gs/rest-service/https://www.leveluplunch.com/java/tutorials/014-post-json-to-spring-rest-webservice/

于 2017-03-29T13:54:32.313 回答