You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot 2.6.7中Validation验证失效问题求助

问题:添加@Valid注解后返回空响应体与200状态码

已引入的依赖

在pom.xml中添加了spring-boot-starter-validation依赖:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-validation</artifactId>
</dependency>

Controller代码

@RestController
@RequestMapping("v1/transactions")
@Validated
public class TransactionController {

    private final TransactionService transactionService;

    public TransactionController(final @NonNull TransactionService transactionService) {
        this.transactionService = transactionService;
    }

    @ApiOperation(value = "Initiate transaction")
    @PostMapping(consumes = {MediaType.APPLICATION_JSON_VALUE}, produces = MediaType.APPLICATION_JSON_VALUE)
    public ResponseEntity<TransactionResponse<InitiateTransactionResponseDTO>> createTransaction(
            @RequestBody @Valid InitiateTransactionRequestDTO createTransactionRequestDTO,
            @NonNull @RequestHeader("userUuid") String userUuid) {
        TransactionResponse<InitiateTransactionResponseDTO> responseDTO = new TransactionResponse<>();
        InitiateTransactionResponseDTO initiateTransactionResponseDTO = null;
        try {
             initiateTransactionResponseDTO = transactionService.initiateTransaction(createTransactionRequestDTO);
        } catch (Exception e) {
            System.out.println("=================================" + e.getMessage());
            throw e;
        }
        responseDTO.setData(initiateTransactionResponseDTO);
        return new ResponseEntity<>(responseDTO, HttpStatus.CREATED);
    }
}

ControllerAdvice代码

@ExceptionHandler(MethodArgumentNotValidException.class)
public ResponseEntity<ErrorResponse> handleValidationException(MethodArgumentNotValidException ex) {
    throw ex;
}

问题现象

移除@Valid注解时,接口能正常返回响应(未执行验证逻辑);但一旦添加@Valid注解,接口就会返回空响应体和200状态码,且没有异常抛出,调试时代码也从未进入catch块。

内容的提问来源于stack exchange,提问作者Imran Ahmad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 20:03:26