如何设置 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" 来了解如何访问话语