我们有一个移动应用程序,调用REST API获取在移动主屏幕上显示的瓷砖列表。认证机制是使用AUTH Token唯一识别用户。菜单根据应用程序版本不断更改。我们有两种方法。
1. /api/tilemenus(仅传递auth header而不是版本) 检索auth header并查找数据库表中的应用程序版本(我们还将用户版本存储在我们的数据库中,并在用户升级应用程序时更新它),然后相应地返回数据。
2. /api/tilemenus/1.2.2(除了传递身份验证头之外还传递版本,因为客户端自己知道其版本) 这里不需要进行DB查询,因为版本已经在REST请求本身中传递。
哪种方法更好?我认为第二种方法更好,因为我们可以传递缓存头来为每个版本缓存此API。对于第一种方法,在用户升级应用程序时没有隐式丢弃此缓存的方式。
1. /api/tilemenus(仅传递auth header而不是版本) 检索auth header并查找数据库表中的应用程序版本(我们还将用户版本存储在我们的数据库中,并在用户升级应用程序时更新它),然后相应地返回数据。
2. /api/tilemenus/1.2.2(除了传递身份验证头之外还传递版本,因为客户端自己知道其版本) 这里不需要进行DB查询,因为版本已经在REST请求本身中传递。
哪种方法更好?我认为第二种方法更好,因为我们可以传递缓存头来为每个版本缓存此API。对于第一种方法,在用户升级应用程序时没有隐式丢弃此缓存的方式。