amazon-web-services - REST API 和缓存
问题描述
我有一个名为 Sites 的资源。
我计划有一个端点如下:
/tenant/:tenantId/sites/:siteId
端点将返回一个站点的树,该树将根据从 JWT 令牌中提取的 userId 而有所不同。
由于它会根据请求它的用户而有所不同,端点是否应该在 URI 中包含 userId- 可以作为查询参数?
在这种情况下,缓存应该如何工作?
此端点返回的站点树也将根据另一个资源(即用户/组)中的更新而更改
每当站点资源本身发生变化或组发生变化时,是否应该为所有用户丢弃缓存?
我正在使用 API 网关,因此在更新任何资源时需要通过客户端缓存控制标头清除缓存。
解决方案
由于数据会因请求它的用户而异,因此端点应该在 URI 中包含 userId - 它可能只是一个类似于
tenantId
and的路径参数siteId
可以根据
If-modified-since
标头进行缓存,以指示数据是否已更改。
If-Modified-Since HTTP 标头指示浏览器首次从服务器下载资源的时间。这有助于确定自上次访问后资源是否已更改。
推荐阅读
- javascript - 如果条件为真,检查验证脚本不返回
- asp.net-core - 使用 GraphQL API 的清洁架构 CQRS
- node.js - 如何从数组中读取特定元素,该元素是来自 mongodb 的车把文件中对象的一部分?
- reactjs - reactjs中如何以模态显示内容?
- python - 面向对象如何帮助创建高效的代码?
- python - 将字符串列表转换为 Pandas Dataframe
- javascript - 事件监听器内部的函数
- angular - 添加自定义标题会覆盖旧标题条目。如何在 Angular 8 中保留旧的标题条目?
- php - 我正在尝试在 php 中创建一个搜索栏来搜索我的 csv 文件。但是,我无法检索任何内容
- angular - Azure 身份验证 MSAL 1.3 - Angular SPA - 登录后,应用程序会一直加载并且不会停止