Download the PHP package onnov/json-rpc-server without Composer
On this page you can find all versions of the php package onnov/json-rpc-server. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package json-rpc-server
Json RPC 2.0 server
Install
Composer (recommended) Use Composer to install this library from Packagist: onnov/json-rpc-server
Run the following command from your project directory to add the dependency:
Alternatively, to load the dev-master branch, add the dependency directly to the composer.json file.
composer.json
Use
Для автозагрузки в symfony нужно добавить:
в файл services.yaml
Авторизация
Json RPC server не занимается авторизацией. Если нужна авторизация, авторизуйте пользователя любым способом, результат авторизации передайте в метод JsonRpcHandler::run, 3-м параметром $resultAuth в виде true или false.
Данный флаг предусмотрен только для того, что бы Json RPC server выдал стандартный ответ при отсутствии авторизации.
Если авторизация не требуется, просто передайте true 3-м параметром $resultAuth.
Если API использует авторизацию, но несколько методов должны быть доступны без авторизации, такие методы как login или authCheck эти методы можно перечислить в 4-м параметре $methodsWithoutAuth в виде массива:
Эти методы будут доступны независимо от авторизации.
Фабрика с методами
Создаем фабрику с помощью Интерфейса ApiFactoryInterface в методе getSubscribedServices перечисляем все используемые классы
Запуск обработчика json rpc
Создаем объект JsonRpcHandler передаем в метод run( ApiFactoryInterface $apiFactory, string $json, bool $resultAuth, array $methodsWithoutAuth = [], bool $responseSchemaCheck = false )
метод возвращает строку json
JSON RPC методы
API Методы создаются с помощью Интерфейса ApiMethodInterface.php
.
Каджый класс с используемыми методами должен быть описан в ApiFactory.
jsonRPC запрос может выглядеть так:
Ответ формируется в зависимости от того, что вернет метод API.
Все, что возвращают методы попадает в result
Validation
All versions of json-rpc-server with dependencies
ext-json Version *
opis/json-schema Version ^2
symfony/service-contracts Version >=1
symfony/dependency-injection Version >=3
psr/log Version >=1
netresearch/jsonmapper Version ^4