5

Netflix の Feign を使用して HTTP リクエストをサービスに送信するスプリング ブート アプリケーションで、これらのキャッシュされた値を自動的にキャッシュして返す簡単な方法はありますか? キャッシュは、リクエストに渡されたパラメーターに基づいている必要があります (関数を X 分間メモ化するのと同様)。

@Cache以下の注釈のようなものを探しています。

@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);
}

もちろん、 の周りにデコレータを使用して自分でキャッシュすることもできFacebookClientましたが、より迅速で少ないコードの方法があるかどうか疑問に思っていました。

4

3 に答える 3

2

Feign クライアントはキャッシュをサポートしていません。

別のより良い方法は、FeignClient を呼び出す Service クラスを作成し、この新しい Service クラスのメソッドにキャッシュを設定することです。

于 2019-06-03T17:41:03.107 に答える