Yii2 Json-Rpc 2.0 Client and Server
- nizsheanez
- Сообщения: 814
- Зарегистрирован: 2011.04.29, 13:09
- Откуда: Москва
Yii2 Json-Rpc 2.0 Client and Server
Портированные для Yii2 Json-Rpc 2.0 сервер и клиент
- JSON-RPC 2.0 Specification support
- JSON-RPC server implemented as Action
- JSON-RPC client
https://github.com/nizsheanez/yii2-json-rpc
- JSON-RPC 2.0 Specification support
- JSON-RPC server implemented as Action
- JSON-RPC client
https://github.com/nizsheanez/yii2-json-rpc
-
- Сообщения: 1268
- Зарегистрирован: 2013.07.17, 17:37
- nizsheanez
- Сообщения: 814
- Зарегистрирован: 2011.04.29, 13:09
- Откуда: Москва
Re: Yii2 Json-Rpc 2.0 Client and Server
yep, done. thanx
Re: Yii2 Json-Rpc 2.0 Client and Server
nizsheanez/JsonRpc/Action.php
48 line: echo json_encode();
Я думаю так не должно быть. Должно echo json_encode($answer);
48 line: echo json_encode();
Я думаю так не должно быть. Должно echo json_encode($answer);
Re: Yii2 Json-Rpc 2.0 Client and Server
думаю про баги удобней на гитхабе отписывать, а не тут
- nizsheanez
- Сообщения: 814
- Зарегистрирован: 2011.04.29, 13:09
- Откуда: Москва
Re: Yii2 Json-Rpc 2.0 Client and Server
Ага, ну в общем-то как всегда. Исправил и не закоммитил ))
Спасибо. Да, лучше на гитхаб, его для того и сделали.
Спасибо. Да, лучше на гитхаб, его для того и сделали.
Re: Yii2 Json-Rpc 2.0 Client and Server
Для Yii 1.xx подойдет?
Re: Yii2 Json-Rpc 2.0 Client and Server
Не подойдет (
По-другому вопрос - где бы взять тоже самое под Yii 1.xx?
По-другому вопрос - где бы взять тоже самое под Yii 1.xx?
- nizsheanez
- Сообщения: 814
- Зарегистрирован: 2011.04.29, 13:09
- Откуда: Москва
Re: Yii2 Json-Rpc 2.0 Client and Server
nizsheanez, чтото не поднялся с коропки екстеншен + он не поддерживает полностю спецификацию JSON-RPC 2.0.
Один из примеров:
у нас есть медот subtract($subtrahend, $minuend)
тогда на запросы
{"jsonrpc": "2.0", "method": "subtract", "params": [42, 23], "id": 1}
и
{"jsonrpc": "2.0", "method": "subtract", "params": {"subtrahend": 23, "minuend": 42}, "id": 1}
будут совсем разные ответы
погуглив альтернативы с большимой удивлением нашел форк твоей реализации на гитхабе с приметкою "Fixed version"))
https://github.com/TheFuzz69/yii2-json-rpc
что и натолкнуло меня на грязные мыслишки написать свою реализацию + добавил кучу фич по безопасности данных + проще + методы в стиле yii-действий (все стандартно без извращений), а сама реализация поддержки протокола на стороне контроллера, а не действия. Рекомендую попробовать:
https://github.com/cranetm/yii2-json-rpc-2.0
Короче, выходные прошли на славу)
Один из примеров:
у нас есть медот subtract($subtrahend, $minuend)
тогда на запросы
{"jsonrpc": "2.0", "method": "subtract", "params": [42, 23], "id": 1}
и
{"jsonrpc": "2.0", "method": "subtract", "params": {"subtrahend": 23, "minuend": 42}, "id": 1}
будут совсем разные ответы
погуглив альтернативы с большимой удивлением нашел форк твоей реализации на гитхабе с приметкою "Fixed version"))
https://github.com/TheFuzz69/yii2-json-rpc
что и натолкнуло меня на грязные мыслишки написать свою реализацию + добавил кучу фич по безопасности данных + проще + методы в стиле yii-действий (все стандартно без извращений), а сама реализация поддержки протокола на стороне контроллера, а не действия. Рекомендую попробовать:
https://github.com/cranetm/yii2-json-rpc-2.0
Короче, выходные прошли на славу)
- nizsheanez
- Сообщения: 814
- Зарегистрирован: 2011.04.29, 13:09
- Откуда: Москва
Re: Yii2 Json-Rpc 2.0 Client and Server
cranetm, крутотень! Я свое расширение не использовал никогда c Yii2, только портировал с Yii1
А надо предложить пулл реквест
А надо предложить пулл реквест
Re: Yii2 Json-Rpc 2.0 Client and Server
Что то не совсем ясно как использовать решение Cranetm.
Спасибо за труд, но документация явно недостаточна. И вот почему.
1) Делаю все тоже самое что мне предлагает README, но экшены не работают, да что уж говорить, контроллер созданный мной возвращает 404
2) Нет явного описания как реализовать сервер, а как клиента. Возможно автор понимает, я нет.
Чтобы не думали что я тут вброс устроил, вот мой код, который не работает:
Запрос выполняю при помощи утилиты httpie:
Содержимое req.json:
В результате "отдается" документ 404. Остается только гадать, что я сделал не так.
Буду благодарен авторам, если направят на путь истины
Спасибо за труд, но документация явно недостаточна. И вот почему.
1) Делаю все тоже самое что мне предлагает README, но экшены не работают, да что уж говорить, контроллер созданный мной возвращает 404
2) Нет явного описания как реализовать сервер, а как клиента. Возможно автор понимает, я нет.
Чтобы не думали что я тут вброс устроил, вот мой код, который не работает:
Код: Выделить всё
<?php
namespace app\controllers;
use Yii;
use yii\filters\VerbFilter;
class ServicesController extends \JsonRpc2\Controller {
public function behaviors()
{
return [
'verbs' => [
'class' => VerbFilter::className(),
'actions' => [
'index' => ['get'],
],
],
];
}
public function actionIndex($message)
{
return ["message" => "hello ".$message];
}
}
Код: Выделить всё
http site.local/services < req.json;
Код: Выделить всё
{
"jsonrpc": "2.0",
"id": 1,
"method": "index",
"params": ["world"]
}
Буду благодарен авторам, если направят на путь истины
Re: Yii2 Json-Rpc 2.0 Client and Server
Уважаемый indeego,
спасибо за фидбек.
В моей документации пишет прямо перед запросом на шаге 4 "used pretty urls without index.php" - это означает, что нужно настроить человеко-понятные-урлы (чпу), у Вас чпу работают?
вот ссылка на документацию: http://www.yiiframework.com/wiki/214/ur ... index-php/
>В результате "отдается" документ 404. Остается только гадать, что я сделал не так.
Моя документация не рассчитана на описание как настроить роутинг, по этому для Вас она, к сожелению, неточная.
P.S. Вы должны использовать вместо GET запроса - POST, так как message body для GET- плохой стиль и GET не предназначен для такого типа запросов ( https://groups.yahoo.com/neo/groups/res ... sages/9962 )
спасибо за фидбек.
В моей документации пишет прямо перед запросом на шаге 4 "used pretty urls without index.php" - это означает, что нужно настроить человеко-понятные-урлы (чпу), у Вас чпу работают?
вот ссылка на документацию: http://www.yiiframework.com/wiki/214/ur ... index-php/
>В результате "отдается" документ 404. Остается только гадать, что я сделал не так.
Моя документация не рассчитана на описание как настроить роутинг, по этому для Вас она, к сожелению, неточная.
P.S. Вы должны использовать вместо GET запроса - POST, так как message body для GET- плохой стиль и GET не предназначен для такого типа запросов ( https://groups.yahoo.com/neo/groups/res ... sages/9962 )
Re: Yii2 Json-Rpc 2.0 Client and Server
Да, я все проверил.
1. PrettyUrl включен
2. Роутинг впорядке
3. Используется POST запрос
К сожалению я не могу заставить работать ваш пример
1. PrettyUrl включен
2. Роутинг впорядке
3. Используется POST запрос
К сожалению я не могу заставить работать ваш пример
Re: Yii2 Json-Rpc 2.0 Client and Server
еще важно, чтобы Header Content-Type был равен application/json
Записал видео-инструкцию http://screencast.com/t/jM20NSUOF8 .
Записал видео-инструкцию http://screencast.com/t/jM20NSUOF8 .
Re: Yii2 Json-Rpc 2.0 Client and Server
Cranetm
Ну ты совсем за дураков держишь
Единственное чего я не сделал, так это действительно не передал в header Content-Type
Спасибо.
Ну ты совсем за дураков держишь
Единственное чего я не сделал, так это действительно не передал в header Content-Type
Спасибо.
Re: Yii2 Json-Rpc 2.0 Client and Server
Рад быть полезным.
Добавлю в инструкцию Content-Type.
Советую попробовать валидацию данных.
Добавлю в инструкцию Content-Type.
Советую попробовать валидацию данных.
Re: Yii2 Json-Rpc 2.0 Client and Server
Спасибо. Главное чтобы работало)nizsheanez писал(а):cranetm, крутотень! Я свое расширение не использовал никогда c Yii2, только портировал с Yii1
А надо предложить пулл реквест