Wie validieren Sie eine Anforderung DTO in einer reaktiven Spring-Webanwendung? import jakarta.validation.constraints.*;
public class UserSignupRequestDTO {
@NotBlank(message = "Email cannot be blank")
@Email(message = "Email should be valid")
private String email;
@NotBlank(message = "Password cannot be blank")
@Size(min = 8, message = "Password must be at least 8 characters long")
private String password;
}
< /code>
@RestController
public class SignupController {
@PostMapping("/signup")
public ResponseEntity signup(@Valid @RequestBody UserSignupRequestDTO signupRequest) {
// ...
}
}
< /code>
Es ist jedoch keine Option für einen reaktiven Handler: < /p>
@Configuration
public class RouterConfig {
private final TokenHandler tokenHandler;
public RouterConfig(TokenHandler tokenHandler) {
this.tokenHandler = tokenHandler;
}
@Bean
@RouterOperation(beanClass = TokenHandler.class, beanMethod = "signUp")
public RouterFunction signUpRoute() {
return RouterFunctions.route()
.POST("/signup", tokenHandler::signUp)
.build();
}
}
< /code>
// TokenHandler implementation
@Override
public Mono signUp(ServerRequest request) {
return request.bodyToMono(UserSignupRequestDto.class) // this has to be validated
.map(userMapper::toUser)
.map(userService::save)
.map(tokenService::generateTokenFor)
.transform(jwt -> ServerResponse.status(HttpStatus.CREATED).body(jwt, String.class));
}
< /code>
Wie ist die vorgeschlagene Möglichkeit, einen Anforderungsbehörde unter solchen Umständen zu validieren? Ich möchte immer noch Jakartas Validierungsanmerkungen einbeziehen, ohne dass ich offensichtlich irgendein Anmerkennungscode selbst schreibe.
Validierung der Anforderungsbehörde in Spring WebFlux ⇐ Java
-
- Similar Topics
- Replies
- Views
- Last post
-
-
Die @AfterReturning-Methode wird in der Spring-Webflux-Anwendung nicht ausgelöst
by Anonymous » » in Java - 0 Replies
- 10 Views
-
Last post by Anonymous
-