Mam aplikację, która wymaga danych z Service2, która zwróci tę samą odpowiedź dla danego żądania, na zawsze, chyba że jego baza danych zostanie zaktualizowana. Baza danych jest aktualizowana bardzo rzadko, powiedzmy dwa razy w roku.Jak prawidłowo zaprojektować spokojny interfejs API, aby unieważnić pamięć podręczną?
Chciałbym zaprojektować rozwiązanie tak, aby aplikacja buforowała odpowiedzi z Service2, ale aby zewnętrznie zapewnić funkcję, która unieważnia pamięć podręczną aplikacji. Myślałem o eksponowaniu usługi RESTful web z Aplikacji, ale nie mam pojęcia, jak zaprojektować ją poprawnie.
/application/cache/invalidate
to adres URL, który nie jest RESTOWN - myślałem o tym, że /application/cache/
będzie wywoływane za pomocą HTTP POST. Jednak wygląda na to, że dla prawidłowego projektu RESTful, gdy do aktualizowania zasobu wykorzystywany jest test POST, treść do aktualizacji powinna być zawarta w treści żądania.
Jaki jest właściwy sposób na zaprojektowanie cichego serwisu "InvalidateCache"?
Doskonale! Czy REST jest zgodny z automatyczną regeneracją pamięci podręcznej po wydaniu polecenia DELETE? – Edmondo1984
Tak, nic nie powstrzyma innego aktora przed modyfikacją pamięci podręcznej. Patrząc na to w inny sposób, powiedzmy, że ujawniłeś PUT wartości w pamięci podręcznej, a PUT nastąpiło natychmiast po usunięciu. Po tej sekwencji pamięć podręczna nie byłaby pusta, ale wynik każdej pojedynczej akcji REST byłby ważny. –
Co zawsze zastanawiałem się, jak właściwie obsługiwać portal administratora, który chce danych w czasie rzeczywistym, a jednocześnie wspiera strony z klientami, które powinny otrzymywać dane z pamięci podręcznej. –