【发布时间】:2018-05-31 06:03:42
【问题描述】:
我在 Spring-Boot 中设计了一个 Restful 控制器。它有一种持久化书籍对象的方法(使用 post 方法),除非您发送无效输入(例如,如果您将非整数值发送到整数字段),否则该方法可以完美运行。这里的问题是,代替实现 BindingResult 对象 spring 会抛出 HttpMessageNotReadableException 异常。因此,我无法处理/处理绑定错误和进一步验证。
我需要的是如何告诉 spring 在将请求绑定到对象时不会抛出任何异常,所以我可以使用 bindingResult.hasErrors() 并以我自己的方式处理它。
注意:我不想处理 Spring 生成的对象。
这是我的代码:
@PostMapping
public ResponseEntity<Book> saveBook (
@RequestBody Book book, BindingResult bindingResult, HttpServletRequest request ) {
if ( bindingResult.hasErrors() == true )
throw new RestArgumentValidationException( bindingResult, request.getRequestURI() );
return new ResponseEntity<>( bookRepository.save( _book ), HttpStatus.CREATED );
}
【问题讨论】:
标签: java spring spring-boot restful-architecture