API请求的智能AI响应

时间:2017-12-11 08:39:06

标签: wit.ai

我正在使用机智的机器人,我觉得这很棒。但是,我必须在我的网络应用程序中为客户提供屏幕以培训和管理应用程序。在这里,我发现了一个大问题(或者我可能只是输了)。 REST API的文档不足以设计一个像机智控制台一样的客户端(甚至不关闭)。它就像你可以点击什么端点的教程和参数的概述,但没有关于响应结构的清晰解释。

例如,没有端点可以获得洞察力。此外,最重要的是,在命中消息端点时没有关于响应结构的明确文档(即返回实体的结构:它们是否是预构建的,如果是,则是值,字符串或对象或数组,以及对象可能包含[例如datetime])。还有不赞成的指南和新指南的问题(新指南应该现在完成并完成)。我正在根据我的测试构建部分代码。有时当我测试新的东西时(比如在datetime实体中添加一个范围而不仅仅是一个值),当我尝试将值设置给用户时,我收到一个错误,因为我没有正确解析响应,并且新信息我有时会让我修改数据库结构。

所以,最重要的是,有一个完整的参考,我可以在我的网络应用程序中实现一个完整的客户端(我的Web应用程序是Java的方式,我找不到一个处理最新版本的客户端库API)?同样,该工具很棒,但文档还不够,或者我可能遗漏了一些东西。

1 个答案:

答案 0 :(得分:1)

该文件当然不够,但我认为它非常简单。从我读到的内容中可以得到响应结构"返回句子的含义"。

它以JSON格式响应。所以你需要先解码响应。

示例请求:

private void getPreferences() {
    SharedPreferences pref = getSharedPreferences("pref", Context.MODE_PRIVATE);
    arrSinhVien = new ArrayList<SinhVien>();
    String jsArrList = pref.getString("list", null);
    JSONArray jsArr=new JSONArray(jsArrList); 
    for(JSONObject obj:jsArr){
      String date=obj.getString("ten");
      String name=obj.getString("sdt");
      arrSinhVien.add(new SinhVien(R.drawable.luan, date, name));
    }
    myadapter = new CustomAdapter(this, R.layout.activity_diary_item, arrSinhVien);

}

响应示例:

 $ curl -XGET 'https://api.wit.ai/message?v=20170307&q=how%20many%20people%20between%20Tuesday%20and%20Friday' \
  -H 'Authorization: Bearer $TOKEN'

您可以在Return the meaning of a sentence

下阅读有关响应结构的更多信息