在 spring-boot 应用程序中使用 map vs DTO

arm*_*man 0 java spring http spring-boot

在 spring-boot 应用程序中接受 POST 请求数据的首选方法是:
使用 map(key,value) 对映射 post 请求的正文或使用 DTO 映射请求内容。
如果有人可以引出每种方法的优缺点,那将非常有帮助。

相同的代码片段 -
使用地图:

@PostMapping("/updateBalance")
public ResponseEntity<?> updateBalance(RequestEntity<List<Map<String, Object>>> requestData,HttpServletRequest headerRequest)
Run Code Online (Sandbox Code Playgroud)

使用 DTO:

@PostMapping("/updateBalance")
public ResponseEntity<?> updateBalance(List<RequestDTO> requestData,HttpServletRequest headerRequest)
Run Code Online (Sandbox Code Playgroud)

dan*_*niu 5

如果传入数据的格式是固定的(即始终具有相同的数据项),则使用 DTO。如果预期格式不匹配,这允许快速失败。

如果传入的数据具有可变条目,您可以使用地图并将其拆开以放置需要处理的各个项目。