小编kim*_*ong的帖子

使用 webflux bean 验证时出现不明确的异常(WebExchangeBindException 与 ConstraintViolationException)

我正在使用 Webflux,并将使用 bean 验证进行现场验证。

\n

尝试使用响应字段错误@RestControllerAdvice

\n

Exception在bean验证字段中指定组时\n我可以知道类型不同的原因吗?

\n

WebExchangeBindException当未指定组时会发生异常。

\n

当您指定组时,会ConstraintViolationException发生异常。

\n

我想要一个统一的异常,并知道是否@RestControllerAdvice应该单独管理异常。

\n

我查了一下。\n我不认为AbstractMessageReaderArgumentResolver使用组来验证字段...

\n

我想要一个统一的例外,WebExchangeBindException或者ConstraintViolationException

\n
    \n
  • spring-boot- 2.5.3
  • \n
  • `spring-boot-starter-validation - 2.5.3
  • \n
  • spring-boot-starter-webflux- 5.3.9
  • \n
\n
\n

堆栈跟踪

\n
    \n
  • 当超过长度时。
  • \n
\n
POST http://localhost:8080/api/v1/user\nContent-Type: application/json\n\n{\n  "name": "12345678901",\n  "age": 30,\n  "address" : "test",\n  "phoneNumber": "010-1234-5678"\n}\n
Run Code Online (Sandbox Code Playgroud)\n
org.springframework.web.bind.support.WebExchangeBindException: Validation failed for argument at index 0 in method: public reactor.core.publisher.Mono<com.example.practicejavaannotation.entity.User> com.example.practicejavaannotation.controller.UserController.create(com.example.practicejavaannotation.dto.request.UserDto), with 1 …
Run Code Online (Sandbox Code Playgroud)

java bean-validation spring-webflux

7
推荐指数
1
解决办法
3624
查看次数

标签 统计

bean-validation ×1

java ×1

spring-webflux ×1