【问题标题】:Is it necessary to serialize objects for using @RequestBody @ResponseBody annotations是否需要序列化对象以使用@RequestBody @ResponseBody 注释
【发布时间】:2014-11-15 16:59:30
【问题描述】:

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

我对@9​​87654323@ 注释标记的返回值类有同样的问题。

我也将非常感谢您解释为什么需要或不需要Serializable 接口。

【问题讨论】:

    标签: spring rest spring-mvc serialization


    【解决方案1】:

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

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

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

    来源和更多信息

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-10-19
      • 1970-01-01
      • 2021-09-16
      • 2012-07-02
      • 2016-12-17
      • 2020-03-09
      • 2020-04-11
      相关资源
      最近更新 更多