java - Spring Boot Validation 可能有什么问题?
问题描述
我启动了一个基本的 Spring Boot 银行应用程序。基本上,POST
需要金额和用户的必填字段。我已经添加了@Valid
and @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);
}
解决方案
我发现了问题。通过将 double 更改为 BigDecimal,验证通过。
推荐阅读
- arangodb - Arango 数据库复制应用程序不工作
- flutter - 为颤振和飞镖定义一个 linter 规则
- cordova - Ionic 4 - Cordova 插件指纹 AIO - 禁用面部识别(指纹多合一)
- c# - 使用 String.Format("{0:C}",45) 此代码时获取 ₹ 的货币格式
- python - 必须随机生成数字才能在 python 中匹配?
- python - 如何在烧瓶 JSON 响应中显示多个值
- mysql - 在 Cypress 中获取“客户端不支持服务器请求的身份验证协议;考虑升级 MySQL 客户端”
- javascript - 如何动态渲染美人鱼流程图?
- typescript - 使用属性访问器的打字稿不解析接口
- amazon-s3 - 将具有特定标题或具有关键字“日志”的标题的文件从 S3 存储桶复制到另一个存储桶中的文件夹