1
0
mirror of synced 2024-11-25 06:16:06 +03:00
service-bundle/Resources/doc/Requests.md
2021-03-31 11:00:48 +03:00

1.7 KiB

Deserialize incoming requests

Callbacks (form data)

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