我正在用ReactJS构建一个应用程序,它使用Laravel提供的JSON API。我试图以RESTful的方式设计API,但我发现一些情况很难处理。如何将非CRUD功能实现为RESTful API?
我如何处理需要比正常CRUD内容更“特殊”的功能的情况?例如,在我的应用程序的“列表”视图中,我可以对它进行标记。当用户从主列表视图中标记项目时,系统会查找所有具有相同名称的项目,并自动使用相同标签对它们进行标记,以便用户不必单独执行每项操作。
我已将此功能直接构建到API的/resource/{id}/update
调用中,因此更新一个项目会导致其他项目也被更新,但实际上并不是我想要的。
我只希望当这个用户在这个特定的列表视图中时,这个“批量更新”才能工作,除此之外,所有其他时间更新都不应该影响除更新之外的任何记录。如何在不向我的更新端点添加“特殊情况”代码的情况下实现此目的?
您是否可以为批量更新创建新的端点,并将普通更新方法中的“额外”代码移到那里? (对不起,如果听起来过于简单,我可能还没有完全理解这个问题。) –
像'/ resource/{id}/update'这样的URL对我来说看起来并不是很RESTful。您可能希望将“PUT”或“PATCH”请求发送到“/ resource/{id}”。 – localheinz