我在spring MVC中验证有问题。如果我发送了一个无效的正文请求,应用程序将返回错误的请求,但不会返回我的自定义消息。
代码是:
public @ResponseBody ResponseEntity<BaseModel> newTicket(@Valid @RequestBody Ticket ticket, Locale locale, BindingResult bindingResult ){
if(bindingResult.hasErrors()) {
logger.info("error");
throw new BadRequestException("Bad Request");
}
如果我尝试将应用程序置于调试模式,则永远不会执行if。
有人可以帮助我吗?
答案 0 :(得分:1)
您可以通过以下方式指出错误请求错误:
@ExceptionHandler
@ResponseStatus(HttpStatus.BAD_REQUEST)
public void handle(HttpMessageNotReadableException e) {
//do something here in case of bad request.
}
您可以根据自己的需要进行定制。
答案 1 :(得分:0)
当你在扔 抛出新的BadRequestException(&#34; Bad Request&#34;); 所以它没有显示您的自定义消息, 而不是抛出这个返回你输入的同一页面。