ze / laravel-jsonrpc-client
rpc client base on json-rpc with http
dev-master
2023-05-12 11:25 UTC
Requires
- php: >=7.0.0
- ext-json: *
- guzzlehttp/guzzle: >6.3
- laravel/framework: >=5.5
This package is auto-updated.
Last update: 2024-12-12 14:59:39 UTC
README
本项目是基于JSON-RPC的服务端端实现的rpc客户端
server端见:https://sajya.github.io/
初始化
1.发布
php artisan vendor:publish --provider="Ze\JsonRPCClient\RPCClientProvider"
2.修改config/rpc.php中的配置,可参照vendor/ze/laravel-jsonrpc-client/config/rpc.php
3.封装了两个中间件供服务端路由调用,可参照下面的例子
// rpc.id 为ip白名单验证,支持*放行所有ip // rpc.auth 为验签中间件,必须使用 Route::rpc('/v1/rpc', [\App\Http\Procedures\TestProcedure::class]) ->middleware(['rpc.ip','rpc.auth']);
示例
// *需先启动服务 // 注册rpc客户端 $rpc = \RPC::connect('example')->path('api/v1/endpoint'); // 单条请求 $rpc->request('DataSourceProcedure@handle',['name'=>'test']); // 批量请求 $rpc->batchRequest([ [ 'id' => 1, 'method' => 'DataSourceProcedure@handle', 'params' => ['name'=>'test'], ] ]);