[英]Spring Boot Rest Api not displaying validation message
我正在使用 Spring 引導開發一個小型 REST API。 我在我的實體 class 中使用驗證注釋:
@NotEmpty(message="Please enter a first name")
private String firstName;
這是我的 controller 和服務:
@RestController
public class CustomerController {
@Autowired
private CustomerService userService;
@PostMapping("/customer")
@ResponseStatus(HttpStatus.CREATED)
public Customer postUser (@RequestBody @Valid Customer customer){
return userService.save(customer);
}
}
public class CustomerService {
@Autowired
private CustomerRepository repository;
@Transactional
public Customer save ( Customer customer){
return repository.save(customer);
}
}
這是我嘗試發送一個帶有空 firstName 值的 JSON 時得到的響應:
{
"timestamp": "2020-06-08T08:40:08.660+00:00",
"status": 400,
"error": "Bad Request",
"message": "",
"path": "/MVCwebshop/customer"
}
如您所見,我得到的 JSON 中的“消息”字段為空。 當我嘗試使用默認消息時也會發生這種情況。 我怎樣才能解決這個問題?
如果使用 Spring Boot 2.3.0.RELEASE 你必須設置
server.error.include-message=always
在您的 application.properties(或 yaml)中。
看這里
除了上面提到的server.error.include-message=always
之外,您還可以將server.error.include-binding-errors=always
添加到 application.properties。 這將列出所有綁定錯誤以及特定消息
您可以添加驗證查詢:
@NotEmpty(message="Please enter a first name")
@Size(min= 1, max = 50, message="actor.firstName.size")
private String firstName;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.