簡體   English   中英

Spring 啟動 Rest Api 不顯示驗證消息

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM