【发布时间】:2017-10-11 00:16:08
【问题描述】:
根据设计REST API端点的this guide,我们不应该在URL中使用动作/动词(例如/addNewEmployee),如果我们想要执行一个动作,我们应该只使用带有相应资源/名词的HTTP动词(例如POST /employees)。
现在,我有一个名为 themes 的资源,我围绕它创建了以下端点:
GET /themes(列出所有主题)
GET /themes/:name(列出具有给定名称的单个主题)
我想创建另一个端点,通过它我可以执行操作(即切换主题),此操作将更改 DB 中 Settings 表中的 current_theme 字段值。我不确定这样做的最佳实践是 REST API 时尚,并且对消费者来说也是直观的。
我可以这样做POST /themes/changeTheme 或PUT /themes/:name/activate 但同样changeTheme 和activate 是动词。我也可以这样做PUT /settings,但从 API 消费者的角度来看,这似乎并不直观。请指导我在这种情况下应该如何进行。
【问题讨论】:
标签: rest api resources httpverbs