在创建一个新的之前检查标准

2021-06-26 12:19:55

我最近在我的团队的积压板上打开了一张机票,要求绕过API的缓存系统的能力。对于上下文,我们的前端团队使用我的团队的API对Elasticsearch的相当沉重的要求,我们的API网关的一个功能是缓存重型聚合的结果〜30秒。事实证明,每次偶尔他们都需要在〜30秒缓存窗口中运行两个相同的查询,并希望更新的结果集。

打开的请求读取的内容,“API需要一个参数以禁用某些查询的缓存”。在REST-ISH-FUL API工作时,有大约数学的方法来实现这一点,以及一些立即想到的第一个人是:

事实证明,已经存在这种类型的标准,缓存控制请求指令。

使用标准标题缓存控制:不仅需要更少的API设计决策,而且确保我的API的客户无法通过新方法来实现常见任务的新途径来更轻松地使我的工作更容易。

但是,我要指出,这只是因为你决定使用相当良好的标准,并不意味着您的用户将期望的其他标准。它还并不意味着您的用户知道您选择的标准的存在。

无论您认为您的API的行为是否是“标准”或“预期”,就会向您的文档添加行为。对我来说,我们的Readme.md中的以下代码段是我们所需要的。

##缓存Businingif如果您不希望您的查询缓存,请使用缓存控制标题。缓存控制:无商店

如果您有任何疑问或评论,请按照Twitter @Q_Vault打击我。 如果我在文章中犯了错误,请务必让我知道,所以我可以得到纠正!