Как/где использовать @Valid в пружинных функциональных конечных точкахJAVA

Программисты JAVA общаются здесь
Anonymous
Как/где использовать @Valid в пружинных функциональных конечных точках

Сообщение Anonymous »

Я пытаюсь перейти от традиционных контроллеров Spring MVC к подходу к функциональной маршрутизации с использованием маршрутизаторов (не реагировать)
Однако я не могу выяснить, как/где применять проверку бобов. Class = "Lang-Java PrettyPrint-Override">

Код: Выделить всё

@RestController
public class PersonController {
@PostMapping("/validateAndCreatePerson")
String validateAndCreatePerson(@RequestBody @Valid Person person) {
// Validation happens automatically, no need for extra custom Validator here.
}
}
< /code>
класс моего человека имеет соответствующие аннотации проверки: < /p>
public class Person {
@NotNull
@Size(min = 4, max = 15)
private String location;

@NotBlank
private String name;
}
Однако в моем функциональном подходе с RouterFunction я не вижу, как/где применять ту же валидацию:
@Service
public class PersonHandler {
public ServerResponse createPerson(ServerRequest request) {
Person person = request.body(Person.class);
// How do I apply validation here?
return ok().build(...);
}
}
< /code>
и мой функциональный маршрутизатор: < /p>
@Service
public class RouterFunctionService {
@Bean
public RouterFunction question(PersonHandler handler) {
return route()
.POST("/person", handler::createPerson)
.build();
}
}
< /code>
Как я могу применить эквивалент аннотации @valid в этом функциональном подходе? />https://docs.spring.io/spring-framework ... validation
образно>

Подробнее здесь: https://stackoverflow.com/questions/796 ... -endpoints

Вернуться в «JAVA»