1.8 KiB
1.8 KiB
Deserialize incoming requests
Callbacks (form data)
For successful deserialization of an entity, there must be setters for the passed parameters
To automatically get the callback request parameter
class AppController extends AbstractController
{
public function activityAction(\App\Dto\Callback\Activity $activity): Response
{
// handle activity
}
}
add to the config:
retail_crm_service:
request_schema:
callback:
supports:
- { type: App\Dto\Callback\Activity, params: ["activity"] }
request automatically will be deserialization to $activity.
Body json content
class AppController extends AbstractController
{
public function someAction(\App\Dto\Body $activity): Response
{
// handle activity
}
}
add to the config:
retail_crm_service:
request_schema:
client:
supports:
- App\Dto\Body
Serializers
At this time supported Symfony serializer and JMS serializer.
By default, the library using a Symfony serializer. For use JMS install JMS serializer bundle - composer require jms/serializer-bundle
You can explicitly specify the type of serializer used for request schema:
retail_crm_service:
request_schema:
client:
supports:
# types
serializer: retail_crm_service.symfony_serializer.adapter # or retail_crm_service.jms_serializer.adapter
callback:
supports:
# types
serializer: retail_crm_service.jms_serializer.adapter # or retail_crm_service.symfony_serializer.adapter