|
1 | | -# JSON-RPC server symfony plugin |
2 | | - [](https://github.com/yoanm/php-jsonrpc-server-doc-sdk) [](https://github.com/yoanm/php-jsonrpc-server-doc-sdk) [](https://php.net/) |
| 1 | +# JSON-RPC server documentation |
| 2 | +[](https://github.com/yoanm/php-jsonrpc-server-doc-sdk) [](https://github.com/yoanm/php-jsonrpc-server-doc-sdk) [](https://libraries.io/packagist/yoanm%jsonrpc-server-doc-sdk) |
3 | 3 |
|
4 | | -[](https://scrutinizer-ci.com/g/yoanm/php-jsonrpc-server-doc-sdk/?branch=master) [](https://scrutinizer-ci.com/g/yoanm/php-jsonrpc-server-doc-sdk/build-status/master) [](https://scrutinizer-ci.com/g/yoanm/php-jsonrpc-server-doc-sdk/?branch=master) |
| 4 | +[](https://scrutinizer-ci.com/g/yoanm/php-jsonrpc-server-doc-sdk/build-status/master) [](https://scrutinizer-ci.com/g/yoanm/php-jsonrpc-server-doc-sdk/?branch=master) [](https://scrutinizer-ci.com/g/yoanm/php-jsonrpc-server-doc-sdk/?branch=master) |
5 | 5 |
|
6 | | -[](https://travis-ci.org/yoanm/php-jsonrpc-server-doc-sdk) [](https://travis-ci.org/yoanm/php-jsonrpc-server-doc-sdk) |
| 6 | +[](https://travis-ci.org/yoanm/php-jsonrpc-server-doc-sdk) [](https://travis-ci.org/yoanm/php-jsonrpc-server-doc-sdk) |
7 | 7 |
|
8 | 8 | [](https://packagist.org/packages/yoanm/jsonrpc-server-doc-sdk) [](https://packagist.org/packages/yoanm/jsonrpc-server-doc-sdk) |
9 | 9 |
|
10 | | -Php SDK to generate Http JSON-RPC server documentation |
| 10 | +Php SDK to generate (Http) JSON-RPC server documentation |
| 11 | + |
| 12 | +See [yoanm/symfony-jsonrpc-http-server-doc](https://github.com/yoanm/symfony-jsonrpc-http-server-doc) for automatic dependency injection. |
| 13 | + |
| 14 | +See [yoanm/jsonrpc-params-symfony-constraint-doc-sdk](https://github.com/yoanm/php-jsonrpc-params-symfony-constraint-doc-sdk) for params documentation generation. |
| 15 | + |
| 16 | +## Availble formats |
| 17 | + |
| 18 | + - Raw : Built-in `json` format |
| 19 | + - Swagger : [yoanm/jsonrpc-http-server-swagger-doc-sdk](https://github.com/yoanm/php-jsonrpc-http-server-swagger-doc-sdk) |
| 20 | + - OpenApi : [yoanm/jsonrpc-http-server-openapi-doc-sdk](https://github.com/yoanm/php-jsonrpc-http-server-openapi-doc-sdk) |
11 | 21 |
|
12 | 22 | ## How to use |
13 | 23 |
|
| 24 | +### Php objects |
| 25 | +Available documentation objects: |
| 26 | + - [`ServerDoc`](./src/Domain/Model/ServerDoc.php) and [`HttpServerDoc`](./src/Domain/Model/HttpServerDoc.php) for HTTP server |
| 27 | + - [`MethodDoc`](./src/Domain/Model/MethodDoc.php) |
| 28 | + - [`ErrorDoc`](./src/Domain/Model/ErrorDoc.php) |
| 29 | + - [`TagDoc`](./src/Domain/Model/TagDoc.php) : Allow to tag methods |
| 30 | + - Types : |
| 31 | + - [`TypeDoc`](./src/Domain/Model/Type/TypeDoc.php) : Basic type |
| 32 | + - [`BooleanDoc`](./src/Domain/Model/Type/BooleanDoc.php) |
| 33 | + - [`ScalarDoc`](./src/Domain/Model/Type/ScalarDoc.php) |
| 34 | + - [`StringDoc`](./src/Domain/Model/Type/StringDoc.php) |
| 35 | + - [`NumberDoc`](./src/Domain/Model/Type/NumberDoc.php) |
| 36 | + - [`IntegerDoc`](./src/Domain/Model/Type/IntegerDoc.php) |
| 37 | + - [`FloatDoc`](./src/Domain/Model/Type/FloatDoc.php) |
| 38 | + - [`CollectionDoc`](./src/Domain/Model/Type/CollectionDoc.php) |
| 39 | + - [`ArrayDoc`](./src/Domain/Model/Type/ArrayDoc.php) |
| 40 | + - [`ObjectDoc`](./src/Domain/Model/Type/ObjectDoc.php) |
| 41 | + |
| 42 | +### Normalizers |
| 43 | +Available normalizers : |
| 44 | + - [`TypeDocNormalizer`](./src/Infra/Normalizer/TypeDocNormalizer.php) |
| 45 | + ```php |
| 46 | + use Yoanm\JsonRpcServerDoc\Infra\Normalizer\TypeDocNormalizer; |
| 47 | + |
| 48 | + $typeDocNormalizer = new TypeDocNormalizer(); |
| 49 | + ``` |
| 50 | + - [`TagDocNormalizer`](./src/Infra/Normalizer/TagDocNormalizer.php) |
| 51 | + ```php |
| 52 | + use Yoanm\JsonRpcServerDoc\Infra\Normalizer\TagDocNormalizer; |
| 53 | + |
| 54 | + $tagDocNormalizer = new TagDocNormalizer(); |
| 55 | + ``` |
| 56 | + - [`ErrorDocNormalizer`](./src/Infra/Normalizer/ErrorDocNormalizer.php) |
| 57 | + ```php |
| 58 | + use Yoanm\JsonRpcServerDoc\Infra\Normalizer\MethodDocNormalizer; |
| 59 | + |
| 60 | + $errorDocNormalizer = new ErrorDocNormalizer($typeDocNormalizer); |
| 61 | + ``` |
| 62 | + - [`MethodDocNormalizer`](./src/Infra/Normalizer/MethodDocNormalizer.php) |
| 63 | + ```php |
| 64 | + use Yoanm\JsonRpcServerDoc\Infra\Normalizer\MethodDocNormalizer; |
| 65 | + |
| 66 | + $tagDocNormalizer = new MethodDocNormalizer( |
| 67 | + $typeDocNormalizer, |
| 68 | + $errorDocNormalizer |
| 69 | + ); |
| 70 | + ``` |
| 71 | + - [`ServerDocNormalizer`](./src/Infra/Normalizer/ServerDocNormalizer.php) and [`HttpServerDocNormalizer`](./src/Infra/Normalizer/HttpServerDocNormalizer.php) for HTTP server |
| 72 | + ```php |
| 73 | + use Yoanm\JsonRpcServerDoc\Infra\Normalizer\ServerDocNormalizer; |
| 74 | + use Yoanm\JsonRpcServerDoc\Infra\Normalizer\HttpServerDocNormalizer; |
| 75 | + |
| 76 | + $normalizer = new ServerDocNormalizer( |
| 77 | + $methodDocNormalizer, |
| 78 | + $tagDocNormalizer, |
| 79 | + $errorDocNormalizer |
| 80 | + ); |
| 81 | + |
| 82 | + $httpNormalizer = new HttpServerDocNormalizer($normalizer); |
| 83 | + ``` |
| 84 | + |
| 85 | + |
| 86 | + |
| 87 | + |
14 | 88 | ## Contributing |
15 | 89 | See [contributing note](./CONTRIBUTING.md) |
0 commit comments