【发布时间】:2018-02-03 18:41:13
【问题描述】:
在使用 facebook messenger api 时,我创建了一个简单的 REST 控制器
@RestController
public class ChatController
{
private static final Logger LOG = LoggerFactory.getLogger(ChatController.class);
@RequestMapping(value="/webhook", method=RequestMethod.POST, consumes="application/json")
public String onWebhookEvent(String event)
{
LOG.info("Received event {}",event);
return "test";
}
}
但是,当我将以下 json 发布到 /webhook 端点时,event 输入被记录为 null ("Received event null")
{"object":
"page",
"entry":[
{
"id":43674671559,
"time":1460620433256,
"messaging":[
{"sender":{"id":123456789},
"recipient":{"id":987654321},
"timestamp":1460620433123,
"message":{"mid":"mid.1460620432888:f8e3412003d2d1cd93","seq":12604,"text":"Testing Chat Bot .."}
}
]
}
]
}
为什么会这样,我该如何解决?由于 json 是一种序列化机制,我假设它将作为字符串呈现给 onWebhookEvent 方法。
感谢您的帮助
【问题讨论】:
-
在事件字符串之前尝试 requestbody 注释?它应该将 http 正文映射到字符串。