Java 禁用Spring mvc的自动序列化
使用SpringMVC3时是否可以禁用自动序列化 我们已经切换到使用SpringMVC,但是序列化已经完成,所以我们不想使用自动序列化。是否可以禁用该功能并使spring按原样返回字符串Java 禁用Spring mvc的自动序列化,java,spring-mvc,serialization,Java,Spring Mvc,Serialization,使用SpringMVC3时是否可以禁用自动序列化 我们已经切换到使用SpringMVC,但是序列化已经完成,所以我们不想使用自动序列化。是否可以禁用该功能并使spring按原样返回字符串 @RequestMapping(value = "/test", method = RequestMethod.GET) @ResponseBody public ResponseEntity<String> justReturnMyResponse() { return new R
@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;
}
上面的代码再次序列化字符串,这不一定是因为它已经被序列化了。好的,经过一些测试和阅读,我确实找到了解决方案或其他东西,但我想所有那些纯粹主义者都会痛苦地尖叫。问题是spring自动设置@requestmappingproducts=application/json,但如果我改为@requestmappingproducts=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;
}
你认为spring的自动序列化功能是什么?我指的是@ResponseBody。我已经更新了我的问题,试图更清楚。我只想返回已经序列化的原始字符串值。getAllreadySerializedObject返回JSON字符串否?是,它返回一个已经jsonized的对象。如果您想按原样获取JSON字符串,为什么不直接返回它而不是返回ResponseEntity