Мы отказываемся от HttpClient, чтобы теперь использовать RestTemplate, даже лучше FeignClient. Но, глядя на https://github.com/OpenFeign/feign, кажется, что кэширование ответов находится в пути. карта притворства 11.
Я рассматривал возможность написания собственного механизма для поддержки кэширования на основе заголовков управления кэшем. Я попытаюсь объяснить это на примере примера
Служба A предоставляет API /greet/{name}. Этот API отправляет заголовок ответа максимального возраста, чтобы клиент мог кэшировать ответ.
Служба B вызывает этот API с помощью FeignClient.
Ниже приведен пример интерфейса Feign.
@FeignClient(name="app/app", contextId="AppService", configuration=AppConfig.class)
public interface AppFeignService {
@GET
@Path(value = "/api/greet/{name}")
public String greet(@PathParam("name") String name);
}
Одним из способов поддержки кэширования является добавление промежуточного уровня над фиктивным клиентом и кэширование ответа в зависимости от потребностей. Но это переносит логику кэширования на сторону клиента, и я хочу убедиться, что решение о том, сколько кэшировать (заголовок max-age), должно быть оставлено на сервере, а клиент не должен управлять им.
Вопрос здесь в том, знаем ли мы, когда мы можем ожидать поддержку кэширования в Feign? Есть ли какое-то временное решение, которое мы можем использовать, чтобы по-прежнему поддерживать кэширование? Feign действительно хорош, учитывая его абстракцию, и нам не очень хочется писать код для его вызова с помощью RestTemplate.
Ваши рекомендации высоко ценятся.