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

标签 java spring spring-boot http

<分区>

在 spring-boot 应用程序中接受 POST 请求数据的首选方式是什么:
要么使用 map(key,value) 对映射 post 请求的主体,要么使用 DTO 映射请求内容。
如果有人能够得出每一个的优缺点,那将非常有帮助。

相同的代码片段-
使用 map :

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

使用 DTO:

@PostMapping("/updateBalance")
public ResponseEntity<?> updateBalance(List<RequestDTO> requestData,HttpServletRequest headerRequest)

最佳答案

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

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

关于java - 在 spring-boot 应用程序中使用 map 与 DTO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59374898/

相关文章:

java - Spring/在一个bean的工厂方法中访问当前的applicationContext

java - 使用 JPA/Hibernate 在 FK 上创建不必要的左外连接

java - Tomcat 日志 : What's the difference between %D and %F?

Java 文件上传到 S3 - 应该多部分加速吗?

java - 使用按功能包约定将我的框架类放在哪里?

java - Spring Boot 在 jar 签名后不读取组件

java - 如何在 Spring Boot 项目中使用 Log4jdbc 记录 SQL 查询、它们的参数和结果?

java - Spring Requestparam中+(plus)的反序列化

java - 如何制作一个类似JPopupMenu的消息框?

java - 实现 AbstractMultiTenantConnectionProvider