我们有一个移动应用程序,该应用程序调用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在许多流行网站上的运行方式.
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!