有没有办法在 Feathers 中添加自定义 REST 操作?
Is there a way to add custom REST actions in Feathers?
我正在用羽毛构建后端。 API 规范中的其中一条路线是:
/people/{pid}/userData:updatePassword
有没有办法将此自定义操作添加到人员或 UserData 控制器?
还有一种方法可以实现一个包含子路由的服务。例如:我有一个 /family
服务。我也有一个/family/{fid}/members
。有没有办法将 members
部分包含在家庭服务中?
HTTP 不鼓励将操作放入 URL 并且 Feathers 比许多其他框架更严格地执行此操作。为什么修改数据的操作不应该通过 GET
请求完成的一个很好的例子是 /users/:userid/delete
路由,例如Google 抓取工具可以进入并擦除您的整个网站。
创建、修改和删除数据是 POST、PATCH、PUT 和 DELETE HTTP 方法以及相应的 Feathers service methods .create
、.patch
、.update
和 .remove
用于.
因此,您可以 PATCH /people/{pid}
使用 { "password": "newPassword" }
JSON 主体,而不是您建议的 /people/{pid}/userData:updatePassword
。
要创建类似 /family/{fid}/members
的路线,您可以找到更多信息 here, additionally see the FAQ entry on nested routes。
我正在用羽毛构建后端。 API 规范中的其中一条路线是:
/people/{pid}/userData:updatePassword
有没有办法将此自定义操作添加到人员或 UserData 控制器?
还有一种方法可以实现一个包含子路由的服务。例如:我有一个 /family
服务。我也有一个/family/{fid}/members
。有没有办法将 members
部分包含在家庭服务中?
HTTP 不鼓励将操作放入 URL 并且 Feathers 比许多其他框架更严格地执行此操作。为什么修改数据的操作不应该通过 GET
请求完成的一个很好的例子是 /users/:userid/delete
路由,例如Google 抓取工具可以进入并擦除您的整个网站。
创建、修改和删除数据是 POST、PATCH、PUT 和 DELETE HTTP 方法以及相应的 Feathers service methods .create
、.patch
、.update
和 .remove
用于.
因此,您可以 PATCH /people/{pid}
使用 { "password": "newPassword" }
JSON 主体,而不是您建议的 /people/{pid}/userData:updatePassword
。
要创建类似 /family/{fid}/members
的路线,您可以找到更多信息 here, additionally see the FAQ entry on nested routes。