In einer Spring-Boot-Anwendung, die Netflix's Feign verwendet, um HTTP-Anforderungen an einen Dienst zu stellen, gibt es eine einfache Möglichkeit, diese zwischengespeicherten Werte automatisch zwischenzuspeichern und zurückzugeben. Der Cache sollte auf den Parametern basieren, die an die Anfrage übergeben wurden (ähnlich dem Memoisieren einer Funktion für X Minuten).So cachen Sie HTTP-Anfragen mit Netflix 'Feign-Bibliothek in einer Java Spring-App
Ich bin auf der Suche nach so etwas wie die @Cache
Anmerkung unten:
@Component
@FeignClient(value = "facebook", url = "${auth.facebook.url}")
public interface FacebookClient {
@Cache(600) // Something like this.
@RequestMapping(method = RequestMethod.GET, value = "/debug_token?input_token={input_token}&access_token={access_token}")
Map debugToken(@PathVariable("input_token") String inputToken, @PathVariable("access_token") String appToken);
}
Natürlich habe ich es zwischenspeichern konnte mich um die FacebookClient
einen Dekorateur verwenden, ich frage mich, ob es ein schneller war/weniger Code Art und Weise.
Danke für Tipp. Für andere, die dies lesen können, fand ich diese hilfreich: [1] (http://stackoverflow.com/questions/8181768/can-i-set-a-tll-for-cacheable) [2] (https: //github.com/spring-projects/spring-boot/tree/master/spring-boot-samples/spring-boot-sample-cache) – Alejandro