有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java SonarQube漏洞:用POJO/DTO替换此持久实体

@PostMapping("/create")
public ResponseEntity<TaskDTO> create(@RequestBody Task task){
    return new ResponseEntity<>(this.service.createTask(task), HttpStatus.CREATED);
}

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


共 (1) 个答案

  1. # 1 楼答案

    如果您的任务类具有注释,因此用于将任务实例存储在数据库中
    ,并用作控制器的传入请求方法的输入参数,
    则会出现此漏洞

    要解决此问题,您需要两个类来完成此任务:

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

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