Здравствуйте, уважаемое сообщество Stackoverflow,
У меня есть 2 класса PHP (считается DTO), которые я использую для установки тела своих HTTP-вызовов. Каждый DTO используется для другого API с разными стратегиями именования (один использует camelCase, а другой использует змеиный регистр.
Я не могу найти решение для внедрения в мой сериализатор JMS другой стратегии именования для каждого из этих классов.
Вот моя текущая конфигурация для JMS:
jms_serializer:
default_context:
serialization:
serialize_null: false
deserialization:
serialize_null: false
property_naming:
id: 'jms_serializer.identical_property_naming_strategy'
Вот мое определение услуг:
ApiBundle\Services\ApiOneService:
arguments:
- '%external_components%'
- '@jms_serializer'
- '@monolog.logger'
ApiBundle\Service\ApiTwoService:
arguments:
- '%external_components%'
- '@jms_serializer'
Примечание. Я не могу использовать аннотацию @SerializedName, потому что она не работает, если вы укажете стратегию именования, как указано в документации JMS https://jmsyst.com/libs/serializer/master/reference/annotations#serializedname
Есть ли способ «скопировать» мой JMS-сервис в my services.yml и просто изменить стратегию именования для моего ApiTwoService? Или любое другое решение?
С наилучшими пожеланиями.