/ / Spring 5 Webflux funkcjonalne punkty końcowe - Jak przeprowadzić sprawdzanie danych wejściowych? - sprężyna, spring-mvc, walidator hibernacji, spring-webflux

Spring 5 Webflux funkcjonalne punkty końcowe - Jak wykonać sprawdzanie danych wejściowych? - sprężyna, spring-mvc, walidator hibernacji, spring-webflux

Zgodnie z aktualnym dokumentem (5.0.0.RELEASE) Spring Webflux obsługuje sprawdzanie poprawności podczas pracy z kontrolerami z adnotacjami:

Domyślnie, jeśli Bean Validation jest obecny naŚcieżka klasy - np. Hibernate Validator, LocalValidatorFactoryBean jest zarejestrowany jako global Validator do użytku z @Valid i Validated on @Controller argumenty metody.

Jednak nic nie powiedziane o tym, jak zautomatyzować go z funkcjonalnymi punktami końcowymi. W rzeczywistości jedyny przykład przetwarzania danych wejściowych w dokumentacji nie powoduje żadnej weryfikacji:

public Mono<ServerResponse> createPerson(ServerRequest request) {
Mono<Person> person = request.bodyToMono(Person.class);
return ServerResponse.ok().build(repository.savePerson(person));
}

Czy mamy to zrobić ręcznie, czy jest jakiś automatyczny sposób na zrobienie tego?

Odpowiedzi:

9 dla odpowiedzi № 1

W wersji Spring 5.0 nie ma automatycznego sposobu sprawdzania poprawności w funkcjonalnych punktach końcowych i jako taka weryfikacja musi być przeprowadzana ręcznie.

Chociaż nie ma obecnie żadnych konkretnych planówzrób to, możemy dodać coś w rodzaju sprawdzania poprawności w przyszłości. Ale nawet wtedy będzie to jawne wywołanie metody, a nie mechanizm automatyczny. Ogólnie rzecz biorąc, funkcjonalny model punktu końcowego został zaprojektowany tak, aby był bardziej wyraźny niż model oparty na adnotacji.