首页 > 解决方案 > Spring Boot Validation 可能有什么问题?

问题描述

我启动了一个基本的 Spring Boot 银行应用程序。基本上,POST需要金额和用户的必填字段。我已经添加了@Validand @NotEmpty,但是使用这些,空POST的也可以通过。

客户端控制器.java

@RestController
public class clientController {

@Autowired
private clientRepo repo;

@PostMapping("/saveClient")
ResponseEntity<String> saveClient(@Valid @RequestBody Client client){
    repo.save(client);
    return ResponseEntity.ok("Client saved.");
}
@GetMapping("/payments")
List<Client> getAll(){
    return repo.findAll();
}

}

客户端.java

@Entity
@Data
public class Client {
@Id
@GeneratedValue
private UUID id = UUID.randomUUID() ;

@DecimalMin("1.0")
private double amount;
@NotNull
private String debtorIban;

private LocalDateTime createdAt = LocalDateTime.now(ZoneOffset.UTC).withNano(0);
}

标签: javaspringdatabase

解决方案


我发现了问题。通过将 double 更改为 BigDecimal,验证通过。


推荐阅读