1
0
mirror of synced 2024-11-28 23:56:03 +03:00
service-bundle/Resources/doc/Requests.md
2022-07-21 17:39:34 +03:00

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