Здравствуйте, уважаемое сообщество Stackoverflow,
У меня есть класс 2 PHP (рассматриваемый как DTO), который я использую для установки тела моих HTTP-вызовов. Каждый DTO используется для отдельного API с разными стратегиями именования (одна использует camelCase, а другая использует snake_case.
Я не могу найти решение, чтобы внедрить мой сервизатор 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 в мой services.yml и просто измените стратегию именования для моего ApiTwoService? Или любое другое решение?
С уважением.