使用spring mvc 3时是否可以禁用自动序列化?
我们已经切换到使用spring mvc但序列化已经完成,所以我们不想使用自动序列化。是否可以禁用该功能并使spring按原样返回字符串?
@RequestMapping(value = "/test", method = RequestMethod.GET)
@ResponseBody
public ResponseEntity<String> justReturnMyResponse() {
return new ResponseEntity<String>(getAllreadySerializedObject(), HttpStatus.OK);;
}
String getAllreadySerializedObject(){
// Some special serialization
....
return jsonizedString;
}
上面的代码再次序列化String,这不一定是因为它已经被序列化了。
答案 0 :(得分:0)
好吧,经过一些测试和阅读后,我确实找到了一个解决方案,但我猜这些纯粹主义者都会痛苦地尖叫。问题是spring自动设置了@RequestMapping(produces="application/json")
,但是如果我改为@RequestMapping(produces="plain/text")
则无需进行两次反序列化。
以下是我修复的新代码:
@RequestMapping(value = "/test", method = RequestMethod.GET, produces = "plain/text")
@ResponseBody
public ResponseEntity<String> justReturnMyResponse() {
return new ResponseEntity<String>(getAllreadySerializedObject(), HttpStatus.OK);;
}
String getAllreadySerializedObject(){
// Some special serialization
....
return jsonizedString;
}