Spring MVC 中@RequestBody 的缺点是什么?

What are the drawbacks of @RequestBody in Spring MVC?

这是一个愚蠢的问题,但我在某家公司的面试中提出了这个问题。 我有一个使用 Java Spring 的无状态后端,并期望来自请求的完整 DTO 作为 @RequestBody 但他们问我期望像 @RequestBody 这样的完整 DTO 有什么缺点,我无法回答。

如果我的应用程序是无状态的,我应该如何期望来自控制器的模型? 或者,如果您希望整个模型在服务端使用它,无状态后端不是一个好主意吗?

  1. 使用 DTO,您通常会发送远程服务器实际需要的更多数据(尽管 DTO 的要点之一是通过发送更多数据来减少远程调用的次数)
  2. 如果 DTO 很复杂,将 DTO 转移到域对象可能并不简单
  3. Serialization/de-serialization 也可能是一种负担[例如二进制或文本]。但如果您同时控制客户端和服务器,那就不是什么大问题了。
  4. 对于大型 DTO,保持客户端和服务器同步更改变得更加困难