我正在用羽毛构建后端。API 规范中的路由之一是:
/people/{pid}/userData:updatePassword
有没有办法将此自定义操作添加到人员或用户数据控制器?
还有没有办法实现一个服务,该服务也包含子路由。例如:我有一个/family
服务。我也有/family/{fid}/members
.有没有办法将members
部分包含在家庭服务中?
HTTP 不鼓励将操作放入 URL 中,Feathers 比许多其他框架更严格地强制执行这一点。一个很好的例子是,为什么修改数据的操作不应该通过GET
请求来完成,这是一个/users/:userid/delete
路线,例如,Google抓取工具可以进入并擦除您的整个网站。
创建、修改和删除数据是 POST、PATCH、PUT 和 DELETE HTTP 方法以及相应的 Feathers 服务方法 .create
、.patch
、.update
和 .remove
的目的。
因此,您可以使用{ "password": "newPassword" }
JSON 正文来执行PATCH /people/{pid}
,而不是您建议的/people/{pid}/userData:updatePassword
。
要创建类似/family/{fid}/members
的路由,您可以在此处找到更多信息,另请参阅有关嵌套路由的常见问题解答条目。