Jersey ma wspaniałe wsparcie dla obsługi warunków wstępnych po stronie serwera, aby odpowiedzieć na żądanie warunkowe-GET.Klient sieci Jersey: Cache-Manager for Conditional GET?
Po stronie klienta wydaje się nieco mniej elegancki/ręczny. O ile mi wiadomo, trzeba przechowywać metadane jednostki (etag, ostatnia modyfikacja nagłówka) i podjąć decyzję, kiedy ustawić, które nagłówki, ocenić kod odpowiedzi, zaktualizować lokalną pamięć podręczną encji/metadanych. .. itd.
Czy znasz gotową, bezpłatną implementację, która rozwiązuje warunkowe GET? Znalazłem this example, gdzie plakat używa CacheManager
i CacheEntry
; Podejrzewam jego własną implementację. Czy nie powinno to być częścią samego klienta Jersey?
RESTeasy [ma implementację "broswer cache"] (https://github.com/resteasy/Resteasy/tree/master/jaxrs/resteasy-client/src/main/java/org/jboss/resteasy/client/ jaxrs/cache), ale jest to specyficzne dla RESTeasy, a jeśli chcesz, musisz wziąć całą implementację klienta, która go zawiera. Lub możesz zrobić z niego notatki do własnej implementacji :-). Teoretycznie można jednak dodać zależność RESTeasy i po prostu dodać funkcję przeglądarki do klienta Jersey. Możesz wykluczyć wszelkie transfery, ponieważ nie będziesz używał niczego, na czym RESTeasy jest zależny. Jest to standardowy kod JAX-RS –