Как проверить DTO-запрос в реактивном веб-приложении Spring? 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>
Тем не менее, это не вариант для реактивного обработчика: < /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>
Каков предлагается Spring способ проверки DTO -образного дохода за запроса в таких обстоятельствах? Я все еще хотел бы включить аннотации валидации Джакарты без, очевидно, самого не написания кода обработки аннотации.
Подробнее здесь: https://stackoverflow.com/questions/796 ... ng-webflux
Удовлетворение корпуса запроса в Spring Webflux ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Удовлетворение атомного ограничения '__ -конструктивного ... »зависит от себя
Anonymous » » в форуме C++ - 0 Ответы
- 6 Просмотры
-
Последнее сообщение Anonymous
-