Mapbox API / styles / v1 / {username}不反映最新的样式数据

时间:2019-08-23 10:54:33

标签: api mapbox

使用Mapbox样式API调用更新样式(POST)或删除样式(DELETE)之后,随后对列表样式(GET / styles / v1 / {username})的调用将返回陈旧的样式数据。例如调用DELETE然后调用CREATE以后,GET调用仍将返回已删除的样式!

等待大约5分钟通常会返回最新的正确样式数据。显然,在Mapbox端发生了一些缓存,但是删除或更新应立即反映出来。

有人确认或提供解决方法吗?

1 个答案:

答案 0 :(得分:2)

这的确是因为我们的默认缓存行为如何作用于这些API端点。

样式列表端点特别具有5分钟的默认“缓存控制”值(即Cache-Control: max-age=300)。您可以通过查看API响应的标题进行确认:

dev tools network tab with cache

可以通过在请求中包含查询参数fresh=true来解决此默认行为。使您的完整请求看起来像:

GET /styles/v1/{username}?access_token={scopes:styles.list}&fresh=true

包含此查询参数将使API改为使用Cache-Control: no-cache为您提供响应,并且您将看到与用户名关联的最新样式信息:

dev tools network tab with no-cache


⚠️免责声明:我目前在Mapbox⚠️

工作