【发布时间】:2019-05-16 02:34:39
【问题描述】:
考虑以下带有以下路由的 vanilla api 资源:
`POST` `{{baseurl}}/api/v1/users`
//with request body of
{
"username":"adam12",
"password":"abc123"
}
`GET` `{{baseurl}}/api/v1/users`
`GET` `{{baseurl}}/api/v1/users/:id`
`PUT` `{{baseurl}}/api/v1/users/:id`
`DELETE` `{{baseurl}}/api/v1/users/:id`
其中{{baseurl}} 是localhost:3000。
我在这里有一个工作实现的代码:https://github.com/mmcguff/webhookLearning
此时,与此 users 资源交互的客户端必须发送 GET 请求才能了解此资源的更改。如果您需要来自该资源的实时数据,则必须创建一个轮询循环,该循环消耗服务器端响应这些请求的两个客户端上的资源。
我知道这个问题的正确解决方案是为此资源实现 webhook 订阅,但我没有找到关于如何在 node.js 中执行此操作的明确最佳实践类型信息。我在 npm 中找到的包目前下载量很少,这让我相信肯定有其他人正在使用的更好的方法。
任何关于从 vanilla API 迁移到 webhook API 的帮助对我和社区中的每个人都非常有用。
【问题讨论】:
-
另一位开发人员建议也许我可以使用 socket.io 来帮助解决这个问题,但我不太确定。其他人知道这是否可以提供帮助以及如何使用它来创建一种对事件的订阅?
标签: node.js express webhooks api-design