Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用nodejs在Dialogflow中处理webhook实现_Javascript_Node.js_Design Patterns_Dialogflow Es_Chatbot - Fatal编程技术网

Javascript 如何使用nodejs在Dialogflow中处理webhook实现

Javascript 如何使用nodejs在Dialogflow中处理webhook实现,javascript,node.js,design-patterns,dialogflow-es,chatbot,Javascript,Node.js,Design Patterns,Dialogflow Es,Chatbot,我正在寻找一些关于如何设计代码来处理Dialogflow发送到我的服务器的请求实现的建议。Dialogflow只允许设置一个webhook来处理所有意图。假设我有5个不同的意图;他们都会在我的服务器上调用相同的webhook。现在,我如何根据意图优雅地管理服务器端不同的工作流? 理想情况下,我用来进行区分的参数包含在req.body.queryResult.intent.displayName中并指示当前意图的名称。现在我有两个想法,使用express重定向方法,将intent作为路径的一部分,

我正在寻找一些关于如何设计代码来处理Dialogflow发送到我的服务器的请求实现的建议。Dialogflow只允许设置一个webhook来处理所有意图。假设我有5个不同的意图;他们都会在我的服务器上调用相同的webhook。现在,我如何根据意图优雅地管理服务器端不同的工作流? 理想情况下,我用来进行区分的参数包含在
req.body.queryResult.intent.displayName中并指示当前意图的名称。现在我有两个想法,使用express重定向方法,将intent作为路径的一部分,或者创建一个处理程序字典,其中intent是关键。
您有什么建议吗?

该库虽然不推荐使用,但使用后一种方法—创建从意图名称到处理程序函数的映射,并将该映射交给调度程序。这是一种简单、直接、快速的方法

该库采用了一种类似但更具扩展性的方法,允许您根据指定的意图名称或操作值注册处理程序,并基于意图、操作或处理程序中设置的其他值对响应进行单独配置

重定向到一个新的、基于路径的方法似乎不会给您带来任何好处