Thecave3
(Andrea Lacava)
1
你好,
我考虑用 Discourse 替换现有的网站。问题是该网站的后端包含共享逻辑,既用于移动应用,也用于网站的特定功能。
因此,由于需要维护一个运行这些特定逻辑的活跃服务器,我想知道是否可以从 Discourse 向外部服务器发送 HTTP 请求。理想的情况是,在发生某些 Discourse 事件时,自动向我的服务器发起 HTTP 请求。
这实际上可行吗?如果可行,是否有相关指南?
另外,是否可以创建包含特定字段的主题,并将这些字段传递给 HTTP 请求?
fzngagan
(Faizaan Gagan)
3
我认为你想做的事情更接近于 Webhooks 的概念。你需要编写一些 Webhooks,以便在事件发生时访问给定的 URL。如果是这种情况,你可以参考以下内容:
是的,如果通信是单向的,@fzngagan 的提议更好。
如果你需要以某种复杂的方式获取并处理响应,那么在插件中使用 REST 调用可能更合适。
Thecave3
(Andrea Lacava)
5
感谢大家的回答。不,我正在寻找一种方法来构建一个完整的 REST API 客户端,而不仅仅是一个简单的 Webhook。
我试图实现的是一个类似市场平台的功能,用户可以在上面发布自己的物品,然后接受其他用户发出的各种报价。市场平台的逻辑应保留在服务器端,但前端应使用 Discourse,并根据服务器上的数据进行更新。
说实话,我不确定在这种情况下哪种方案更好,因此希望能得到一些建议和参考资料!
我还想分享一个网站链接供你参考 thehub76.herokuapp.com(该网站为意大利语),以便你更好地理解我打算迁移的内容。
fzngagan
(Faizaan Gagan)
6
我认为这里需要澄清 Discourse 将扮演什么角色。
您的使用场景与讨论/对话有何关联?哪些操作会在 Discourse 上执行,哪些又会在您的服务器上执行?
这是一个笼统的陈述。Discourse 本身就是一个完整的系统。您希望在 Discourse 上展示哪些来自或同步自您其他服务器的数据?
根据您分享的信息,这肯定可以通过插件实现。已有针对 WordPress、GitHub 等的集成,它们可能正在执行与您尝试实现类似的功能。但这只是我在尝试揣摩您的意图。
如果您想了解如何构建插件,@merefield 整理了一份非常棒的链接集合:
这个也不错:
https://meta.discourse.org/t/creating-routes-in-discourse-and-showing-data/48827/19?u=fzngagan
Thecave3
(Andrea Lacava)
7
好的,让我从头开始更清楚地解释这个想法:
我想创建一个市场,用户可以在其中出售或交换他们的物品。理想情况下,每当用户创建帖子时,都应输入特定字段来描述该物品。其他用户应有机会讨论该物品的价格,并通过特定的按钮和字段进行竞价(这些功能应通过 Discourse 添加)。
基于这个想法,我有两种可行的方案(如果 Discourse 支持的话):
- 每当有关于此类报价的 Discourse 交互发生时,我希望我的服务器能够更新或发送相关数据。
或者,如果上述方案不可行:
- 我希望将所有逻辑转移到 Discourse,利用其内部数据库,并在 Discourse 上创建一个 REST API 服务,以便移动应用程序能够连接并使用该服务。
使用 Discourse 实现时,哪种方案更好且更快速?
fzngagan
(Faizaan Gagan)
8
这是一种更理想的做法。原因在于,Discourse 并非一个市场,将其调整得像一个市场并不太合理。
另外,你是打算自己编写代码,还是聘请他人来完成?
Thecave3
(Andrea Lacava)
9
太好了,如果可以在 Discourse 中实现这一点,最佳做法是什么?
由于该项目不打算产生任何收入,且我具备编程经验,因此我的计划是全部由自己完成。
fzngagan
(Faizaan Gagan)
10
我认为你应该阅读上面分享的链接。此外,这个 WordPress 插件也能完成类似的工作,但它是针对 WordPress 的,你也可以查看一下。