Bal*_*211 7 java validation rest jackson spring-boot
@Valid 检查适用于各个字段。如果 POST/PUT 请求的 JSON 请求主体中存在任何未知字段,是否有任何方法可以拒绝请求。下面是我的示例 DTO 类和控制器。对于下面的示例请求正文(例如),请求应被拒绝/抛出异常。任何帮助或建议将不胜感激。
{
"accountid" : "P12345",
"name" : "Cardiology",
"domain" : "Apollo"
}
public class Account {
@NotEmpty(message = "accountid is required")
private String accountid;
@NotEmpty(message = "name is required")
private String name;
//getters & setters
}
**********************************************************************************************
public class BeanController {
@PostMapping(path = "/accounts")
public ResponseEntity<?> getAllAccounts(@RequestBody @Valid Account account) {
System.out.println("::: Account is " + account + " :::");
return ResponseEntity.ok().body("SUCCESS");
}
}
Run Code Online (Sandbox Code Playgroud)
您可以通过使用来做到这一点@JsonIgnoreProperties
。
@JsonIgnoreProperties(ignoreUnknown = false)
public class Account {
@NotEmpty(message = "accountid is required")
private String accountid;
@NotEmpty(message = "name is required")
private String name;
//getters & setters
}
Run Code Online (Sandbox Code Playgroud)
在 application.yml 中添加以下属性以在 spring-boot 最新版本中工作。
spring:
jackson:
deserialization:
fail-on-unknown-properties: true
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2898 次 |
最近记录: |