Validierung der Anforderungsbehörde in Spring WebFluxJava

Java-Forum
Anonymous
 Validierung der Anforderungsbehörde in Spring WebFlux

Post by Anonymous »

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.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post