问题描述
我尝试控制端点方法(基于Google Standard AppEngine构建)的响应的缓存标头。
我在框架中找到了这两个批注ApiCacheControl和ApiMethodCacheControl,但它们似乎不起作用。无论我如何配置这些批注,我的方法响应总是带有“ Cache-Control = no-cache”标头。
您有示例如何使用它们吗?
如果这些确实不起作用/不受支持,我还有其他方法可以控制方法响应的缓存头吗?
可以在这里找到上述注释的参考: https://cloud.google.com/endpoints/docs/frameworks/java/javadoc/com/google/api/server/spi/config/ApiCacheControl
解决方法
关于'ApiMethodCacheControl'的信息已被弃用,您不应再使用它。
已弃用。 ApiMethodCacheControl已过时,并将在将来的Cloud Endpoints版本中删除。
另一方面,对于Cloud Endpoints Frameworks annotations and syntax中提到的ApiCacheControl
:
注意:Javadoc列出了一些当前未实现的注释。这些注释是:ApiCacheControl和ApiFrontendLimits。
我在《公共发行跟踪》中找到了此Feature Request。我建议您"star",以确保您收到有关它的更新。您还可以通过单击右上角的齿轮图标并选择设置来adjust notification设置。
我还发现了另外similar question个没有答案的人。
最后在this question中,我确实找到了答案:
可扩展服务代理(ESP)不执行请求缓存。它的功能是拦截传入的请求,验证身份令牌,然后将请求转发到Google Service Control,在该服务中按照Open API规范中的定义应用其他API管理规则。端点使用分布式代理模型来获得更好的性能,从而避免了传统的多租户API代理通常会产生的额外网络跳。实际上,这与Google内部用于支持我们自己的API的模型相同。