프로젝트에 대해 Spring 5를 평가 중이며 Mono
매개 변수의 유효성을 검사하는 가장 좋은 방법을 모릅니다. 전통적으로 우리는 다음과 같이 우리의 방법은 매개 변수의 유효성을 확인 MethodValidationPostProcessor을 사용하고 있었다 :Spring 반응을 사용할 때 Mono의 유효성을 검사하는 방법
@Validated
@Service
public class FooService
@Validated(SignUpValidation.class)
public void signup(@Valid UserCommand userCommand) {
...
}
우리는 다음 ControllerAdvice
또는 ErrorController
A의 예외를 처리하고 클라이언트에 적합한 4XX 응답을 전달할 것이다.
그러나 매개 변수를 Mono
으로 변경하면 더 이상 작동하지 않습니다.
스프링 리 액티브를 이해하는 한 실제로는 실제로 작동하지 않을 것입니다. 그렇다면 Mono
및 Flux
의 유효성을 검사하고 적절한 오류 응답을 보내는 스프링 5 최상의 방법은 무엇입니까?
감사합니다! 내 질문을 Mono으로 수정했습니다. 컨트롤러에서'@ Valid'가 작동하는 것을 보았습니다. '@Validated (SignUpValidation.class)', 작동하지 않습니다. 또한,'MethodValidationPostProcessor' (위의 예제 참조)를 사용하는 서비스 메소드의 유효성 검사가 작동하지 않습니다. BTW, 언급 한 참조 문서를 찾을 수 없습니다 ("참조 설명서에 명시된 바와 같이 Spring WebFlux가 유효성 검사를 지원합니다"). 그게 어디 있니? –
Sanjay
WebFlux에서 유효성 검사 그룹이 지원되지 않는다고 생각합니다. 이것은 공식 이슈 트래커 (jira.spring.io)에서 제기할만한 가치가있을 것입니다. 참조 설명서의 관련 섹션에는 유효성을 검사하는 입력 매개 변수 만 나와 있습니다. https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/web-reactive.html#webflux-config-validation을 참조하십시오. –