frdl/json-rpc-server-dicoverable
Composer 安装命令:
composer require frdl/json-rpc-server-dicoverable
包简介
rpc.discover procedure for uma/json-rpc.
README 文档
README
extends uma/json-rpc (https://github.com/1ma/JsonRpc)
Added:
rpc.dicovermethod https://spec.open-rpc.org/- Result validation
- Remote schema loader
Example
$payload = '{"jsonrpc":"2.0","method":"rpc.discover","params":[],"id":1}'; // \frdl\i::c() returns an container instance \frdl\i::c()->set( \webfan\hps\Api\RpcMethod\Test::class, function(\UMA\DIC\Container $c) { return new \webfan\hps\Api\RpcMethod\Test(); }); $config = [ 'schemaLoaderPrefix' => '', 'schemaLoaderDirs' => [], // 'schemaCacheDir' => __DIR__.\DIRECTORY_SEPARATOR.'schema-store'.\DIRECTORY_SEPARATOR, 'schemaCacheDir' => sys_get_temp_dir() . \DIRECTORY_SEPARATOR . get_current_user(). \DIRECTORY_SEPARATOR . 'json-schema-store' . \DIRECTORY_SEPARATOR, 'discovery' => true, 'meta' => [ 'openrpc' => '1.0.0-rc1', "info" => [ "title" => "JSON-RPC Server", "description" =>"This the RPC-part of an Frdlweb API Server definition https://look-up.webfan3.de/?goto=oid%3A1.3.6.1.4.1.37553.8.1.8.1.13878", "version" => "1.0.0", ], 'servers' => [ [ 'name' => 'Webfan Homepagesystem RPC API', 'summary' => 'Webfan Homepagesystem RPC API methods description', 'description' => 'This is the RPC part of an implementation of the Frdlweb API Specification (1.3.6.1.4.1.37553.8.1.8.1.13878)', 'url' => 'https://'.$_SERVER['SERVER_NAME'].'/software-center/modules-api/rpc/0.0.2/', ] ], 'methods' => [], 'components' => [ 'links' => [], 'contentDescriptors' => [], 'schemas' => [], 'examples' => [], ], ], ]; try{ $server = new \frdlweb\Api\Rpc\Server(\frdl\i::c(), 50, $config, true); $server->set('test', \webfan\hps\Api\RpcMethod\Test::class); $response = $server->run($payload); }catch(\Exception $e){ echo $e->getMessage(); } echo print_r($response,true);
统计信息
- 总下载量: 164
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 1
- 依赖项目数: 2
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2020-01-09