根据设计REST API端点的指南,我们不应该在URL中使用动作/动词(如
现在,我有一个名为
我想创建另一个端点,通过它可以执行一个操作(即切换主题),此操作将更改DB中
我可以这样做
/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使用者的角度来看,这似乎不太直观。 请指导我如何在这种情况下继续进行。
PUT /themes/:name
也可以意味着更改主题本身。我建议将PUT /active-theme/:name
和PUT /themes/:name
作为不同的端点使用。 - egvo