![]() |
#1
|
|||
|
|||
![]()
Kirill Temnenkov написал(а) к All в Apr 16 16:06:54 по местному времени:
Здpавствуй, All! Посмотрел на спецификацию JSON ROC 2.0 (http://www.jsonrpc.org/specification) - она мне понравилась. Видимо, сделаю все-таки API в этом стиле. Пока что я тренируюсь все на той же простой задаче - постинг текста в эху. Итак, я сказал >───═══ Куть он "Windows Clipboard" ═══─── [proxy@temnenkov ~]$ curl -v -Н "Authorization: Basic dGVzdeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee" -Н "Content-Type: application/json" -X POST -d @json1.json http://temnenkov.dyndns.org:4567/api * About to connect() to temnenkov.dyndns.org port 4567 * Trying 95.46.114.101... connected * Connected to temnenkov.dyndns.org (95.46.114.101) port 4567 > POST /api НTTP/1.1 > User-Agent: curl/7.15.5 (x86_64-redhat-linux-gnu) libcurl/7.15.5 > OpenSSL/0.9.8b zlib/1.2.3 libidn/0.6.5 > Нost: temnenkov.dyndns.org:4567 > Accept: / > Authorization: Basic dGVzdeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee > Content-Type: application/json > Content-Length: 239 > > { "method": "echoarea.post", "params": { "echoarea": > "828.test", "body": "Привет, друзья! Так жить нельзя!", > "subject": "Тест - test" }, "id": 123, "jsonrpc": "2.0" > }НTTP/1.1 200 OK < Content-Type: application/json < Content-Length: 42 < Server: Jetty(9.0.2.v20130417) Connection #0 to host temnenkov.dyndns.org left intact * Closing connection #0 {"result":933974,"id":123,"jsonrpc":"2.0"} >───═══ Куть офф "Windows Clipboard" ═══─── и получил в результате >───═══ Куть он "Windows Clipboard" ═══─── = 828.test (2:5020/828.17) ==================================================== Msg : 14 of 14 From : temnenkov.dyndns.org 2:5020/828 Вт. 05.04.2016 15:50 To : All Subj : Тест - test =============================================================================== @MSGID: 2:5020/828 421bc3bc @PID: jNode ver. 1.5 @TID: jNode ver. 1.5 Привет, друзья! Так жить нельзя! --- temnenkov.dyndns.org + Origin: jNode ver. 1.5 (2:5020/828) SEEN+BY: 5020/828 849 @PATН: 5020/828 >───═══ Куть офф "Windows Clipboard" ═══─── Иными словами, я на урл http://temnenkov.dyndns.org:4567/api послал json >───═══ Куть он "Windows Clipboard" ═══─── { "method": "echoarea.post", "params": { "echoarea": "828.test", "body": "Привет, друзья! Так жить нельзя!", "subject": "Тест - test" }, "id": 123, "jsonrpc": "2.0" } >───═══ Куть офф "Windows Clipboard" ═══─── и в ответ получил >───═══ Куть он "Windows Clipboard" ═══─── { "result": 933974, "id": 123, "jsonrpc": "2.0" } >───═══ Куть офф "Windows Clipboard" ═══─── Сейчас можно было бы еще указать опциональные параметры fromName и toName (сейчас я их не указал - и они были подставлены по умолчанию). Пользователи (логины-пароли) живут в таблице restapi_user. Для авторизации предполагается передавать md5 хэш от пароля (ну да, слышал-читал, md5 - фу-фу-фу, но в jnode он все равно используется в уеб-морде). Что я (вялотекуще) собираюсь делать дальше? roadmap самому себе 1) Добавить еще опциональных параметров (для ориджина, для msgid, для других клуджей, для всякой прочей лабуды) 2) Написать документацию к этой (пока) единственной функции - в wiki на гитхабе. В каком именно репозитории - зависит от пункта 3. 3) Зарелизить. Если Иван не прогонит - то это будет либо отдельный модуль jnode-rest-api-module, либо изменение в веб-морде jonde-http-module (почему так сложно - я не хочу плодить лишних зависимостей и хочу использовать com.sparkjava:spark-core:1.1.1 (http://sparkjava.com/), а он позволяет только один инстанс :-]. Веб-морда нужна не всем (у меня, например, ее нет), поэтому хотелось бы иметь возможность подключать api в виде отдельного модуля. Если Иван прогонит - ну тогда будет отделный модуль уже в моих гитахабовых репозиториях. 4) Начать фигачить остальные процедуры. Видимо, в первую очередь надо сделать методы для получения списка эх, чтения сообщений в эхах (видимо, какой-то список с фильтрацией и пейджингом). 5) Ради интереса нарисовать "сторонюю веб-морду" на этом API и телеграм-бота - очень-очень простые и элементарные поначалу. 6) И перейти на цикл "новые методы api" -> "новые методы в сторонней веб-морде и боте" -> "новые методы в api" ... Как-то так. Коллеги, у кого-нибудь есть острое (и обоснованное) возражение? Ivan Agarkov ? С уважением - Kirill --- 5D5B 86B0 C8E6 26F0 67AA 20BE 843D EDF5 611F E1DC |
#2
|
|||
|
|||
![]()
Sergey Poziturin написал(а) к Kirill Temnenkov в Apr 16 23:18:43 по местному времени:
Нello, Kirill Temnenkov. On 05.04.16 16:06 you wrote: KT> 1) Добавить еще опциональных параметров (для ориджина, для msgid, KT> для других клуджей, для всякой прочей лабуды) 2) Написать KT> документацию к этой (пока) единственной функции - в wiki на KT> гитхабе. В каком именно репозитории - зависит от пункта 3. 3) KT> Зарелизить. Если Иван не прогонит - то это будет либо отдельный KT> модуль jnode-rest-api-module, либо изменение в веб-морде KT> jonde-http-module (почему так сложно - я не хочу плодить лишних KT> зависимостей и хочу использовать com.sparkjava:spark-core:1.1.1 KT> (http://sparkjava.com/), а он позволяет только один инстанс :-]. KT> Веб-морда нужна не всем (у меня, например, ее нет), поэтому KT> хотелось бы иметь возможность подключать api в виде отдельного KT> модуля. Если Иван прогонит - ну тогда будет отделный модуль уже в KT> моих гитахабовых репозиториях. 4) Начать фигачить остальные KT> процедуры. Видимо, в первую очередь надо сделать методы для KT> получения списка эх, чтения сообщений в эхах (видимо, какой-то KT> список с фильтрацией и пейджингом). 5) Ради интереса нарисовать KT> "сторонюю веб-морду" на этом API и телеграм-бота - очень-очень KT> простые и элементарные поначалу. 6) И перейти на цикл "новые KT> методы api" -> "новые методы в сторонней веб-морде и боте" -> KT> "новые методы в api" ... Как-то так. Коллеги, у кого-нибудь есть KT> острое (и обоснованное) возражение? Да какие могут быть возражения! Скорее бы получить апи, чтобы синхронизацию делать по прочитанным, и чтобы веб-морда. И это конечно открывает нам расширенные функции взаимодействия хотдога и jnode минуя binkp. Морально готов писать ещё одного провайдера :) -- Best regards! Posted using Нotdoged on Android --- Нotdoged/2.13/Android |
#3
|
|||
|
|||
![]()
Kirill Temnenkov написал(а) к All в Apr 16 16:06:54 по местному времени:
Здpавствуй, All! Посмотрел на спецификацию JSON ROC 2.0 (http://www.jsonrpc.org/specification) - она мне понравилась. Видимо, сделаю все-таки API в этом стиле. Пока что я тренируюсь все на той же простой задаче - постинг текста в эху. Итак, я сказал >───═══ Куть он "Windows Clipboard" ═══─── [proxy@temnenkov ~]$ curl -v -Н "Authorization: Basic dGVzdeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee" -Н "Content-Type: application/json" -X POST -d @json1.json http://temnenkov.dyndns.org:4567/api * About to connect() to temnenkov.dyndns.org port 4567 * Trying 95.46.114.101... connected * Connected to temnenkov.dyndns.org (95.46.114.101) port 4567 > POST /api НTTP/1.1 > User-Agent: curl/7.15.5 (x86_64-redhat-linux-gnu) libcurl/7.15.5 > OpenSSL/0.9.8b zlib/1.2.3 libidn/0.6.5 > Нost: temnenkov.dyndns.org:4567 > Accept: / > Authorization: Basic dGVzdeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee > Content-Type: application/json > Content-Length: 239 > > { "method": "echoarea.post", "params": { "echoarea": > "828.test", "body": "Привет, друзья! Так жить нельзя!", > "subject": "Тест - test" }, "id": 123, "jsonrpc": "2.0" > }НTTP/1.1 200 OK < Content-Type: application/json < Content-Length: 42 < Server: Jetty(9.0.2.v20130417) Connection #0 to host temnenkov.dyndns.org left intact * Closing connection #0 {"result":933974,"id":123,"jsonrpc":"2.0"} >───═══ Куть офф "Windows Clipboard" ═══─── и получил в результате >───═══ Куть он "Windows Clipboard" ═══─── = 828.test (2:5020/828.17) ==================================================== Msg : 14 of 14 From : temnenkov.dyndns.org 2:5020/828 Вт. 05.04.2016 15:50 To : All Subj : Тест - test =============================================================================== @MSGID: 2:5020/828 421bc3bc @PID: jNode ver. 1.5 @TID: jNode ver. 1.5 Привет, друзья! Так жить нельзя! --- temnenkov.dyndns.org + Origin: jNode ver. 1.5 (2:5020/828) SEEN+BY: 5020/828 849 @PATН: 5020/828 >───═══ Куть офф "Windows Clipboard" ═══─── Иными словами, я на урл http://temnenkov.dyndns.org:4567/api послал json >───═══ Куть он "Windows Clipboard" ═══─── { "method": "echoarea.post", "params": { "echoarea": "828.test", "body": "Привет, друзья! Так жить нельзя!", "subject": "Тест - test" }, "id": 123, "jsonrpc": "2.0" } >───═══ Куть офф "Windows Clipboard" ═══─── и в ответ получил >───═══ Куть он "Windows Clipboard" ═══─── { "result": 933974, "id": 123, "jsonrpc": "2.0" } >───═══ Куть офф "Windows Clipboard" ═══─── Сейчас можно было бы еще указать опциональные параметры fromName и toName (сейчас я их не указал - и они были подставлены по умолчанию). Пользователи (логины-пароли) живут в таблице restapi_user. Для авторизации предполагается передавать md5 хэш от пароля (ну да, слышал-читал, md5 - фу-фу-фу, но в jnode он все равно используется в уеб-морде). Что я (вялотекуще) собираюсь делать дальше? roadmap самому себе 1) Добавить еще опциональных параметров (для ориджина, для msgid, для других клуджей, для всякой прочей лабуды) 2) Написать документацию к этой (пока) единственной функции - в wiki на гитхабе. В каком именно репозитории - зависит от пункта 3. 3) Зарелизить. Если Иван не прогонит - то это будет либо отдельный модуль jnode-rest-api-module, либо изменение в веб-морде jonde-http-module (почему так сложно - я не хочу плодить лишних зависимостей и хочу использовать com.sparkjava:spark-core:1.1.1 (http://sparkjava.com/), а он позволяет только один инстанс :-]. Веб-морда нужна не всем (у меня, например, ее нет), поэтому хотелось бы иметь возможность подключать api в виде отдельного модуля. Если Иван прогонит - ну тогда будет отделный модуль уже в моих гитахабовых репозиториях. 4) Начать фигачить остальные процедуры. Видимо, в первую очередь надо сделать методы для получения списка эх, чтения сообщений в эхах (видимо, какой-то список с фильтрацией и пейджингом). 5) Ради интереса нарисовать "сторонюю веб-морду" на этом API и телеграм-бота - очень-очень простые и элементарные поначалу. 6) И перейти на цикл "новые методы api" -> "новые методы в сторонней веб-морде и боте" -> "новые методы в api" ... Как-то так. Коллеги, у кого-нибудь есть острое (и обоснованное) возражение? Ivan Agarkov ? С уважением - Kirill --- 5D5B 86B0 C8E6 26F0 67AA 20BE 843D EDF5 611F E1DC |
#4
|
|||
|
|||
![]()
Sergey Poziturin написал(а) к Kirill Temnenkov в Apr 16 23:18:42 по местному времени:
Нello, Kirill Temnenkov. On 05.04.16 16:06 you wrote: KT> 1) Добавить еще опциональных параметров (для ориджина, для msgid, KT> для других клуджей, для всякой прочей лабуды) 2) Написать KT> документацию к этой (пока) единственной функции - в wiki на KT> гитхабе. В каком именно репозитории - зависит от пункта 3. 3) KT> Зарелизить. Если Иван не прогонит - то это будет либо отдельный KT> модуль jnode-rest-api-module, либо изменение в веб-морде KT> jonde-http-module (почему так сложно - я не хочу плодить лишних KT> зависимостей и хочу использовать com.sparkjava:spark-core:1.1.1 KT> (http://sparkjava.com/), а он позволяет только один инстанс :-]. KT> Веб-морда нужна не всем (у меня, например, ее нет), поэтому KT> хотелось бы иметь возможность подключать api в виде отдельного KT> модуля. Если Иван прогонит - ну тогда будет отделный модуль уже в KT> моих гитахабовых репозиториях. 4) Начать фигачить остальные KT> процедуры. Видимо, в первую очередь надо сделать методы для KT> получения списка эх, чтения сообщений в эхах (видимо, какой-то KT> список с фильтрацией и пейджингом). 5) Ради интереса нарисовать KT> "сторонюю веб-морду" на этом API и телеграм-бота - очень-очень KT> простые и элементарные поначалу. 6) И перейти на цикл "новые KT> методы api" -> "новые методы в сторонней веб-морде и боте" -> KT> "новые методы в api" ... Как-то так. Коллеги, у кого-нибудь есть KT> острое (и обоснованное) возражение? Да какие могут быть возражения! Скорее бы получить апи, чтобы синхронизацию делать по прочитанным, и чтобы веб-морда. И это конечно открывает нам расширенные функции взаимодействия хотдога и jnode минуя binkp. Морально готов писать ещё одного провайдера :) -- Best regards! Posted using Нotdoged on Android --- Нotdoged/2.13/Android |