1
0
mirror of synced 2024-11-23 22:06:09 +03:00
api-client-php/doc/customization/examples/custom-api-methods-with-dto/README.md

29 lines
1.2 KiB
Markdown
Raw Normal View History

2021-11-25 11:02:42 +03:00
# Custom API methods with DTO
This example demonstrates how you can use your custom serializer with custom DTOs to implement API methods.
## How to run the project
1. Open `app.php` and change credentials and the site to your data.
2. Run these commands:
```sh
composer install
php app.php
```
You will see something like this:
```sh
Created customer using custom methods. ID: 5633
```
This means that the project works as expected.
## Navigation
- [`app.php`](app.php) - entrypoint, calls the custom method and outputs the response data.
- [`src/Component/Adapter/SymfonyToLiipAdapter.php`](src/Component/Adapter/SymfonyToLiipAdapter.php) - adapter for using `symfony/serializer` inside `FormEncoder` component.
- [`src/Component/CustomApiMethod.php`](src/Component/CustomApiMethod.php) - `CustomApiMethod` that uses `SerializerInterface` from `liip/serializer` and `FormEncoder`. This component will handle marshaling.
- [`src/Dto`](src/Dto) - data models used in the project.
- [`src/Factory/SerializerFactory.php`](src/Factory/SerializerFactory.php) - builds `symfony/serializer`'s serializer and wraps it into the `SymfonyToLiipAdapter`.
- [`src/Factory/ClientFactory.php`](src/Factory/ClientFactory.php) - custom client factory that register the custom API method.