在 spring 3 Controller 中
@RequestMapping(value = "/employee/{id}", RequestMethod.GET)
public @ResponseBody Employee getEmployee(@PathVariable long empID) {
Employee employee = employeeService.getByID(empID);
return employee;
}
我应该修改哪个文件,以便 json 会像下面一样返回
而不是返回“['foo','bar']”
返回这个“/*['foo', 'bar']*/”
(带注释)?
最佳答案
在底层,Spring MVC 委托(delegate)给 HttpMessageConverter
来执行序列化。在这种情况下,Spring MVC 调用基于 Jackson JSON 处理器构建的 MappingJacksonHttpMessageConverter
。当您使用 mvc:annotation-driven 配置元素且类路径中存在 Jackson 时,会自动启用此实现。
因此,您可以通过重写来提供自己的 HttpMessageConverter
实现
protected void writeInternal(Object o,
HttpOutputMessage outputMessage)
throws IOException,
HttpMessageNotWritableException
MappingJacksonHttpMessageConverter的方法,可以达到目的。
关于java - 在发送给客户端之前注释掉 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4359335/