【问题标题】:SonarQube vulnerability: Replace this persistent entity with POJO/DTOSonarQube 漏洞:用 POJO/DTO 替换这个持久实体
【发布时间】:2021-01-30 04:04:43
【问题描述】:
@PostMapping("/create")
public ResponseEntity<TaskDTO> create(@RequestBody Task task){
    return new ResponseEntity<>(this.service.createTask(task), HttpStatus.CREATED);
}

所以这是我的任务控制器的一部分,我已将我的项目放入 SonarQube,它告诉我这是一个安全风险。为什么这段代码会导致问题,我该如何改变它以使其变得更好?

【问题讨论】:

  • 除了“安全风险”还有什么细节可以分享吗?

标签: java spring-boot sonarqube


【解决方案1】:

如果你的 Task 类有注解,所以它被用来在数据库中存储 Task 实例
并且它被用作控制器的传入请求方法的输入参数,
那么你就会得到这个 Sonarqube 漏洞。

要解决它,您需要 2 个任务类:

  • 一个只接收控制器的输入数据
  • 另一个将其写入数据库(称为 DAO)

你需要某种映射逻辑来从一个类转换到另一个类。

【讨论】:

    猜你喜欢
    • 2021-12-24
    • 2021-06-05
    • 2022-01-17
    • 1970-01-01
    • 2011-07-16
    • 2018-10-12
    • 2017-04-04
    • 2020-06-17
    • 1970-01-01
    相关资源
    最近更新 更多