forum.bitel.ru
http://forum.bitel.ru/

Endpoint для JSON в контексте сервера
http://forum.bitel.ru/viewtopic.php?f=49&t=12686
Страница 1 из 1

Автор:  Dog [ 20 окт 2017, 05:02 ]
Заголовок сообщения:  Endpoint для JSON в контексте сервера

Хочется создать коннектор для MS BotFramework. Ему нужен ендпоинт, куда будут прилетать данные для бота. По сути это HTTP POST с aplication/json
Скажите, как это прочитать в контексте сервера. Есть что то из "коробки"?

Автор:  Администратор [ 20 окт 2017, 19:48 ]
Заголовок сообщения:  Re: Endpoint для JSON в контексте сервера

Параметры запроса содержатся в теле в виде JSON или параметров URL?
Насколько конфигурируемо? Пример запроса и ответа можете привести?

Автор:  Dog [ 21 окт 2017, 16:19 ]
Заголовок сообщения:  Re: Endpoint для JSON в контексте сервера

параметры передаются в теле. что то изменить нельзя, можно просто указать URL endpoint. выглядит вот так:
Код:
{
   "text":"@GigaBot привет",
   "type":"message",
   "timestamp":"2017-10-18T14:28:43.324Z",
   "localTimestamp":"2017-10-18T17:28:43.324+03:00",
   "id":"1508336923324",
   "channelId":"skype",
   "serviceUrl":"https://smba.trafficmanager.net/apis/",
   "from":{
      "id":"29:1hR0YGI092X0fXUU0rxNrDGe5nyufql68TTSgRBWbMLo",
      "name":"Sergey"
   },
   "conversation"{
      "isGroup":true,
      "id":"19:ff5e3f29c42b4ef191e7afbd7ab31cca@thread.skype"
   },
   "recipient":{
      "id":"28:4ffb3582-81b5-4fa7-9ae5-c16ae424d9c4",
      "name":"GigaBot"
   },
   "entities":[{
      "mentioned":{
         "id":"28:4ffb3582-81b5-4fa7-9ae5-c16ae424d9c4"
      },
      "text":"<at id=\"28:4ffb3582-81b5-4fa7-9ae5-c16ae424d9c4\">@GigaBot</at>","type":"mention"},
      {"locale":"ru-RU","country":"RU","platform":"Windows","type":"clientInfo"
   }],
   "channelData":{
      "text":"<at id=\"28:4ffb3582-81b5-4fa7-9ae5-c16ae424d9c4\">@GigaBot</at> привет"
   }
}

Автор:  Dog [ 23 окт 2017, 19:28 ]
Заголовок сообщения:  Re: Endpoint для JSON в контексте сервера

какой либо ответ не предполагается, достаточно отдать HTTP 200

Автор:  Dog [ 23 окт 2017, 20:04 ]
Заголовок сообщения:  Re: Endpoint для JSON в контексте сервера

получилось как то так. через DynamicEventListener читаем:
Код:
String line;
while ((line = form.getHttpRequest().getReader().readLine()) != null){
    //*ЧТО ТО ДЕЛАЕМ*//
}

самого бота пока не подключал, но тестовые запросы читать могут.

Автор:  Администратор [ 29 окт 2017, 02:09 ]
Заголовок сообщения:  Re: Endpoint для JSON в контексте сервера

Как тут описано делали?
https://docs.bitel.ru/pages/viewpage.ac ... Id=6193587
"Вызов динамического класса HTTP запросом"
Можете использовать org.apache.commons.io.IOUtils для считывания всего InputStream.

Автор:  Dog [ 30 окт 2017, 03:23 ]
Заголовок сообщения:  Re: Endpoint для JSON в контексте сервера

Примерно так и сделал. Почти все работает
Осталось описать поведение бота.

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/