/ / Spring 5 Funkčné koncové body Webflux - Ako vykonať validáciu vstupov? - jar, spring-mvc, hibernate-validator, spring-webflux

Spring 5 Funkčné koncové body Webflux - Ako vykonať validáciu vstupov? - jar, spring-mvc, hibernate-validator, spring-webflux

Podľa aktuálneho doc (5.0.0.RELEASE) Spring Webflux podporuje validáciu pri práci s anotovanými kontrolermi:

V predvolenom nastavení je na serveri prítomná validácia BeanCLASSPATH - napr. Hibernate Validator, LocalValidatorFactoryBean je zaregistrovaný ako globálny Validator pre použitie s @Valid a Validated @Controller argumenty metódy.

Napriek tomu sa nič nehovorí o tom, ako ho automatizovať s funkčnými koncovými bodmi. V skutočnosti jediný príklad spracovania vstupov v dokumentácii neoveruje nič:

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

Máme to robiť ručne, alebo existuje nejaký automatický spôsob, ako to urobiť?

odpovede:

9 pre odpoveď č. 1

Na jarnom verzii 5.0 neexistuje žiadny automatický spôsob, ako vykonať validáciu funkčných koncových bodov, a preto musí byť toto overenie vykonané manuálne.

Hoci v súčasnosti neexistujú žiadne konkrétne plánytak by sme mohli do budúcnosti pridať nejakú validáciu. Ale aj potom to bude explicitné volanie metódy a nie automatický mechanizmus. Celkovo je model funkčného koncového bodu navrhnutý tak, aby bol oveľa explicitnejší ako model založený na anotáciách.