改造 - 不同设备上的不同 API 响应

2022-09-04 04:39:11

问题完全像下面一样,我有一个api可以提供一些数据和一个apk,

我用我的设备得到了我的api响应,在模拟器上得到了另一个不同的旧响应,具有相同的apk!

模拟器响应是最新的,具有最新的更改,而其他不同的响应是在更改之前。

该应用程序使用不缓存的改造。那么问题可能是什么呢?

请求仅包含一个标头(访问令牌)响应包含类似(ETag,访问控制-最大-年龄)之类的标头,但改造不应处理它们,因为根本没有缓存。

来自邮递员的屏幕截图:enter image description here

此外,当等待一段时间时,所有设备都成为最新的!


答案 1

你确定吗?

该应用程序使用不缓存的改造

基于这个 https://github.com/square/retrofit/issues/678,我认为改造(OkHttp内部改造)缓存你的查询。

您可以通过以下两种方式更改此行为:

  • 将 ?_t=时间戳添加到您的应用查询 URL 中
  • 从服务器响应中删除“访问控制最大年龄”标头

答案 2

或者,您可以创建新的 OkHttp 客户端来改造并编写类似的东西:

new OkHttpClient.Builder().cache(null).build();

Request.cacheControl(CacheControl.FORCE_NETWORK)

推荐