bankiru / jsonrpc-server-bundle
此包已被废弃,不再维护。未建议替代包。
JSON-RPC 服务器 symfony 扩展包
1.1.3
2016-10-19 05:57 UTC
Requires
- php: ~5.5 || ~7.0
- bankiru/rpc-server-bundle: ~1.1
- jms/serializer-bundle: ~1.1
- nelmio/api-doc-bundle: ~2.9
- scaytrase/json-rpc-client: ~1.0
- symfony/http-kernel: ~2.7 || ~3.0
Requires (Dev)
- doctrine/doctrine-bundle: ~1.6
- doctrine/orm: ~2.3
- phpunit/phpunit: ~4.8 || ~5.1
- symfony/browser-kit: ~2.7 || ~3.0
Suggests
- doctrine/doctrine-bundle: For relations handler
- doctrine/orm: For relations handler
This package is not auto-updated.
Last update: 2022-11-08 05:05:38 UTC
README
JSON-RPC 服务器包
此包在 bankiru/rpc-server-bundle
库之上提供 JSON-RPC 2.0 服务器。
序列化
此包使用 rpc.view
事件来序列化响应,如果请求是 JsonRpcRequestInterface
的实例,且响应不是 JsonRpcResponseInterface
对象。你可以通过发送预创建的响应对象或实现自己的视图监听器来绕过序列化过程。
上下文
此库利用 JMS Serializer Bundle 自动将非 JSON-RPC 控制器响应序列化为序列化视图。你可以在路由级别指定序列化上下文。你也可以通过 with_default_context: false
禁用默认上下文的使用。
异常处理
控制器中的任何未处理的异常都会自动转换为带有内部错误 (-32603) 代码的正确 JSON-RPC 失败响应。如果你想显示其他错误,可以扩展 JsonRpcException
类或手动配置它,如下所示:
$exception = new JsonRpcException(); $execption->setJsonRpcError( new JsonRpcError( JsonRpcError::METHOD_NOT_FOUND, 'Invalid method', (object)['debug_data' => 'some debug data'] ) );
规范
请参阅官方 JSON-RPC 2.0 规范:http://www.jsonrpc.org/specification