我们有一个移动应用程序,该应用程序调用REST API来获取要在移动主屏幕上显示的图块列表.身份验证机制是AUTH令牌,通过它我们可以唯一地标识用户.菜单会根据应用程序的版本不断变化.为此,我们有两种方法.

> / api / tilemenus(仅通过身份验证标头,而不是版本)

检索auth标头并在db表中查找应用程序的版本(我们还将用户版本存储在数据库中,并在用户升级应用程序时对其进行更新),并相应地返回数据.

> /api/tilemenus/1.2.2(由于客户端本身知道其版本,因此也要传递auth标头和版本)

在此,不需要数据库查找,因为版本是通过REST请求本身传递的.

哪种方法更好?我认为方法2更好,因为我们可以传递缓存头来为每个版本缓存此API.对于方法1,当用户升级应用程序时,没有隐式方法可以丢弃此缓存.

最佳答案
通常在URI路径中传递API版本(也请检查此question).我建议使用第二个选项,尽管将其重写为/api/1.2.2/tilemenus,它看起来更类似于API在许多流行网站上的运行方式.

dawei

【声明】:丽水站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。