JMSSerializer не сериализует объект

Я пытаюсь получить сериализованный ответ объекта, используя JmsSerializerBUndle и FOSRestBundle. к сожалению, я не могу этого сделать, потому что у меня проблемы с ответом.. я не уверен, что система распознает файл Entity.SearchEngine.yml

Любые идеи, как я мог найти, почему он не работает?

#src\example\CoreBundle\Resources\config\serializer\Entity.SearchEngine.yml
Example\CoreBundle\Entity\SearchEngine:
  exclusion_policy: ALL
  properties:
             id:
                 expose: true
                 groups: [search.list,search.details]
             has_product_flight:
                 expose: true
                 groups: [search.details]
             selfLink:
               expose: true
               groups: [self.link]

Действие отдыха (с использованием FOSRestBundle):

    /**
     * GET /search/engines
     *
     * @return array
     * @Rest\View(serializerGroups={"search.details", "self.link"})
     */
    public function getSearchEnginesAction()
    {
        $searchEngineManager = $this->get('search_manager');
        return $searchEngineManager->getSearchEngineList();
    }

я получаю ответ { 0: { } }


person Zain Zed    schedule 25.12.2014    source источник


Ответы (1)


Во-первых, правильно ли настроен SerializerBundle? Вы должны предоставить конфигурацию для путей к вашим .yml и соответствующим пространствам имен, например:

jms_serializer:
    metadata:
        auto_detection: true
        directories:
            ExampleCoreBundle:
                namespace_prefix: "Example\\CoreBundle"
                path: "@ExampleCoreBundle/Resources/config/serializer/"

Убедитесь, что ваша служба search.manager возвращает экземпляры SearchEngine. Кроме того, я не уверен, поддерживаются ли точки в именах групп.

person kix    schedule 26.12.2014