如何设置 botium.json 以获得最简单的服务模式
How to setup the botium.json for a simplerest service mode
我有一个非常简单的 "bot server" 可以用相同的话语响应呈现的话语:
const express = require('express')
const app = express()
app.use(express.json())
const port = 3001
app.get('/', (req, res) => res.send('Hello World!'))
app.post('/message', (req, res) => {
res.send({output: req.body.input})
})
app.listen(port, () => console.log(`Example app listening on port ${port}!`))
消息流:
我: POST -> http://localhost:3001/message -> { "input": "hi" }
bot: 响应:{ "output": "hi" }
botium.json:
{
"botium": {
"Capabilities": {
"PROJECTNAME": "whatever",
"CONTAINERMODE": "simplerest",
"SIMPLEREST_URL": "http://localhost:3001/message",
"SIMPLEREST_METHOD": "POST",
"SIMPLEREST_BODY_TEMPLATE": "{\"text\": \"{{input}}\"}",
"SIMPLEREST_RESPONSE_JSONPATH": "$.output",
"SIMPLEREST_PING_URL": "http://localhost:3001/"
},
"Sources": {},
"Envs": {
"NODE_TLS_REJECT_UNAUTHORIZED": 0
}
}
}
模拟器浏览器打开没有问题,但是"bot"没有响应..
我误解了文档 - body rest 模板应该如下所示:
"SIMPLEREST_BODY_TEMPLATE": "{\"input\": \"{{msg.messageText}}\"}",
其中 "input" 是输入话语的路径 - 通过与您的 REST 服务签订合同
botium 显然使用 "msg.messageText" 来了解如何访问话语
我有一个非常简单的 "bot server" 可以用相同的话语响应呈现的话语:
const express = require('express')
const app = express()
app.use(express.json())
const port = 3001
app.get('/', (req, res) => res.send('Hello World!'))
app.post('/message', (req, res) => {
res.send({output: req.body.input})
})
app.listen(port, () => console.log(`Example app listening on port ${port}!`))
消息流:
我: POST -> http://localhost:3001/message -> { "input": "hi" }
bot: 响应:{ "output": "hi" }
botium.json:
{
"botium": {
"Capabilities": {
"PROJECTNAME": "whatever",
"CONTAINERMODE": "simplerest",
"SIMPLEREST_URL": "http://localhost:3001/message",
"SIMPLEREST_METHOD": "POST",
"SIMPLEREST_BODY_TEMPLATE": "{\"text\": \"{{input}}\"}",
"SIMPLEREST_RESPONSE_JSONPATH": "$.output",
"SIMPLEREST_PING_URL": "http://localhost:3001/"
},
"Sources": {},
"Envs": {
"NODE_TLS_REJECT_UNAUTHORIZED": 0
}
}
}
模拟器浏览器打开没有问题,但是"bot"没有响应..
我误解了文档 - body rest 模板应该如下所示:
"SIMPLEREST_BODY_TEMPLATE": "{\"input\": \"{{msg.messageText}}\"}",
其中 "input" 是输入话语的路径 - 通过与您的 REST 服务签订合同
botium 显然使用 "msg.messageText" 来了解如何访问话语