我正在使用带注释的spring 3 MVC。
使用@ResponseBody和@RequestBody注解,我可以使用MappingJacksonHttpMessageConverter将对象序列化和反序列化为json,反之亦然。
我需要引入对象到json转换的自定义拦截器,它可以使用压缩的键,例如fullName可以用作fN,等等。有人能建议我如何在控制器中嵌入自定义拦截器(使用任何注释)来进行序列化和反序列化。
发布于 2011-03-10 17:47:23
您可以随时使用任何序列化程序并将其发送到HTTP流:
它会让你的生活更轻松。
@RequestMapping(value="/get/{id}",method = RequestMethod.GET)
@ResponseBody
public void getData(@PathVariable String id,HttpServletResponse response){
//make our business logic.
//use any serializer to serialize.
String serialiedObject = Serializer.serialize(Object);
response.setContentType("application/json");
response.setContentLength(serialiedObject.length);
ServletOutputStream out;
try {
out = response.getOutputStream();
out.write(serialiedObject);
out.lose();
} catch (IOException e) {
e.printStackTrace();
}
}
同样,您可以使用POST请求将json字符串发送到控制器。
@RequestMapping(value="/add",method = RequestMethod.POST)
@ResponseBody
public void addtData(@RequestParam("json") String myJson){
Object = //use any serializer to serialize.
Object deSerialiedObject = Serializer.deserialize(myJson);
}
希望能有所帮助。
https://stackoverflow.com/questions/5253009
复制相似问题