Wpis z mikrobloga

zainteresowałem się spring webflux oraz jego functional api i jakieś takie chu*owe to się wydaje, ale może mam do tego złe podejście? zamiast czytelnych deklaracji endpointów z jawnie zadeklarowanymi parametrami i zwrotką mam jakieś routingi i handlery bez jawnych typów. bez wczytywania się w kod nie wiadomo co jaki endpoint przyjmuje i co zwraca. to trochę tak jakby się cofnąć w czasie z typów generycznych do typów, które po prostu przechowują Object, a ty użytkownik się martw jak sprawdzić jaki to jest rzeczywiście typ. z drugiej strony to "nowe" (z mojej perspektywy) api zdaje się dawać większą elastyczność, tylko klepiąc proste endpointy w stylu REST czy RPC raczej nie odczuwałem potrzeby, żeby ta większa elastyczność była mi do czegoś potrzebna. tak więcej zamiast prostych i uporządkowanych kontrolerów teraz klepie się te routingi i handlery z masą boilerplate i uważa się to za krok w dobrą stronę? czy ja to dobrze rozumiem? czy to raczej fanaberia i większość nadal się używa zwykłych kontrolerów z adnotacjami?
#programowanie #spring #java
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

czytelnych deklaracji endpointów z jawnie zadeklarowanymi parametrami


@ly000: a handler nie jest mocno typowany? Nie rozumiem gdzie jest problem. Możesz podać przykład z kodem?

RouterFunction<ServerResponse> route = route()
.GET("/person/{id}",
  • Odpowiedz
@ly000: Ogólnie to bym chyba odpuścił webflux, bo wraz z nadejściem Project Loom (Java 21) mamy wirtualne wątki, które częściowo rozwiązują problemy które ma rozwiązywać webflux

  • Odpowiedz
  • 0
@Saly:

a handler nie jest mocno typowany? Nie rozumiem gdzie jest problem. Możesz podać przykład z kodem?

no nie jest w tym sensie, że masz ServerResponse i ServerRequest, które mogą przechowywać wszystko. musisz się wczytać w definicję metody, żeby sprawdzić czego oczekuje dany endpoint i co zwraca.

w podejściu z kontrolerem miałbyś coś w
  • Odpowiedz