spring - handleMethodArgumentNotValid 在春季 5 中不起作用
问题描述
我使用 spring 5 并进行验证,当我使用 bindig 结果时,它可以获取字段有错误,但是当我想使用@Controller 建议如下时,handleMethodArgumentNotValid 在使用 Postman 进行测试时没有命中和工作,只是返回错误 400 错误请求。我无法捕捉到 handleMethodArgumentNotValid excprion。
@ControllerAdvice
@Order(Ordered.HIGHEST_PRECEDENCE)
public class GlobalControllerExceptionHandler extends ResponseEntityExceptionHandler {
private static final MerchantManagerLogger logger =
MerchantManagerLogger.getLogger(GlobalControllerExceptionHandler.class);
@Override
protected ResponseEntity<Object> handleMethodArgumentNotValid(MethodArgumentNotValidException ex, HttpHeaders headers, HttpStatus status, WebRequest request) {
return super.handleMethodArgumentNotValid(ex, headers, status, request);
}
和我的控制器:
@PostMapping(value = "/tax/changeTerminalCashRegister",
produces = MediaType.APPLICATION_JSON_VALUE,
consumes = MediaType.APPLICATION_JSON_VALUE)
ChangeTerminalTaxResponseDto changeCashRegisterStatus(@Valid @RequestBody TaxChangeCashRegisterStatusReqDto requestBody) {
// if(bindingResult.hasErrors()){
// bindingResult.getFieldErrors();
// }
return changeTerminalTaxService.convertCashRegisterStatus(requestBody);
}
解决方案
推荐阅读
- sas - PROC SQL 合并不匹配
- entity-framework - Azure DevOps Pipeline 找不到 edmx 资源
- movilizer - 如果字符串中存在双引号,则 Movlet 失败
- html - base64到图像不转换
- php - 如何在 PHP mysql 中计算已读和未读消息
- pyspark - 使用 pySpark 将部分文件从 hdfs 读入数据帧
- azure - Azure 管道:错误 MSB4019 WebApplication.targets 未找到
- windows - 为 IOCP 创建线程池
- angular - Angular cli 在 app.component.html 中添加 css 和额外的 html
- flutter - Listview.builder 中的小部件在 Row 中的空间不均匀