2016-03-08 7 views
2

У меня есть юридическое лицо Клиента, что я хочу иметь как Hatoas ссылки и пользовательские сериализацииSymfony hateoas и JMS сериализации

/** 
* Customer ORM Entity 
* 
* @package AppBundle\Entity 
* 
* @Hateoas\Relation("self", href = @Hateoas\Route("get_customers", parameters = { "customer" = "expr(object.getId())" })) 
* @Hateoas\Relation("customers", href = @Hateoas\Route("cget_customers")))) 
*/ 

Это аннотаций для hateoas ссылки

AppBundle\Entity\Customer: 
    exclusion_policy: ALL 
    virtual_properties: 
     getFullName: 
      serialized_name: full_name 
      type: string 

Это мой YAML конфигурация для сериализации jms, но по какой-то причине она также удаляет ссылки на renoas.

Как я могу его вернуть? Скажите сериализатору, чтобы не удалить свойство _links?

ответ

3

В Hateoas documentation он говорит:

Важно: вы должны настроить как Serializer и Hateoas таким же образом. Например. если вы используете YAML для настройки Serializer, используйте YAML для настройки Hateoas.

Например, используйте конфигурацию YAML format, и ваша проблема должна быть решена.

2

Как следует из @takeit, вы должны использовать ту же конфигурацию, что и для сериализатора. Для примера попробуйте следующее:

AppBundle\Entity\Customer: 
    exclusion_policy: ALL 
    virtual_properties: 
     getFullName: 
      serialized_name: full_name 
      type: string 
    relations: 
     - 
     href: 
      route: get_customers 
      parameters: 
       customer: expr(object.getId()) 
    #  absolute: 0 
     customers: 
      route: cget_customers 

Надежда эта помощь

Смежные вопросы