我目前正在研究REST api。我已经阅读了几次如何以正确的方式处理端点,使用协议(post,put,...)来定义应该采取的操作。
假设我有一份引用列表。我有:
现在我想添加以下功能:
我应该使用哪个端点? / quote / ID / share似乎是一个糟糕的主意。我想到了带有“action”参数的POST / quote / ID,该参数告诉脚本对报价执行什么操作,这是正确的吗?
答案 0 :(得分:2)
尝试将API与应用程序逻辑分开。从API开始,你从现在开始获取引用和API不应该关心你对这些数据的处理。同样标记引号为收藏夹。这是您的应用程序和用户db的问题,如何标记某些内容。同样,API应该只关心正确回答你的GET。
将REST API视为数据库 - 您可以从那里获取数据,您可以PUT或POST一些数据,但共享或标记等内容应该在应用程序中完成。
修改强>
关于端点。
GET/POST/PUT /quote[s]
应该只关注报价; PUT/POST /user/{userId}/action
等POST数据的{"type": "share", "target": "otherUserId", "quoteId": 123}
可用于在数据库中保存有关操作的数据。