在V2 DialogFlow履行webhook中访问请求有效负载

时间:2018-04-04 14:54:18

标签: java dialogflow

我正在尝试解析发送到API的V2中基于java的履行的请求。我在Java的V2中找不到任何Java示例文档(com.google.cloud:google-cloud-dialogflow:0.38.0-alpha依赖于我的项目)。

到目前为止,我已经编写了一个非常基本的Spring MVC控制器来接受请求。

如何解析请求中的有效负载,例如对话框流发送的参数?

{% for result in results %}
<tr>
    {% for header in headers %}
    <td>
         {{ result.header }}
    </td>
    {% endfor %}
{% endfor %}

1 个答案:

答案 0 :(得分:1)

不确定WebhookRequestWebhookResponse。 下面的代码可能会对您有所帮助。

import org.springframework.http.HttpEntity;

@PostMapping("test1t")
public String getTest1(HttpEntity<String> httpEntity) {

    String reqObject = httpEntity.getBody();
    System.out.println("request json object = "+reqObject);

    //Get the action
    JSONObject obj = new JSONObject(reqObject);
    String action = obj.getJSONObject("result").getString("action");

    //Get the parameters
    JSONObject params = obj.getJSONObject("result").getJSONObject("parameters");
    String response = "Hello from Java."; 
    return "{'speech': '"+response+"', 'displayText':'"+response+"'}";
}