我们有一个移动应用程序,该应用程序调用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在许多流行网站上的运行方式.
原文链接:https://www.f2er.com/nginx/532300.html