是否有必要序列化对象以使用@RequestBody @ResponseBody注释

bml*_*zyk 4 rest serialization spring spring-mvc

类是否在控制器方法中作为参数传递,并由@RequestBody实现Serializable接口所需的注释标记?

我对@ResponseBody注释标记的返回值类有同样的问题.

我也非常感谢解释为什么Serializable接口是否需要.

Boh*_*rdt 6

它不是.当您从带有注释的控制器方法返回实例时,@ResponseBody可能会说它被序列化为JSON.但是这种序列化不是涉及Serializable接口的Java序列化.

@RequestBody并且@ResponseBody处理注释RequestResponseBodyMethodProcessor,使用HttpMessageConverter实现来执行转换,例如从对象到JSON或从JSON到对象.

当您查看HttpMessageConverter接口时,有一个canRead方法具有以下签名:boolean canRead(Class<?> clazz, MediaType mediaType);正如您所看到的,它不仅限于使用泛型的可序列化类.

来源和更多信息