Setting serialization groups for entity in other bundle with FOSRestBundle / JMSSerializerBundle










2














I have a simple REST api created using FOSRestBundle, and returns serialized objects using JMSSerializerBundle.



One of the entities of my bundle uses an entity located in another bundle.



I set up serialization groups for my entity, but they are obviously not set for the aggregated entity so its json result is empty.



I've followed the documentation for YAML groups configuration: http://jmsyst.com/libs/serializer/master/reference/yml_reference but the file seems to be unused (adding groups to the entity's properties has no effect, and I don't get any errors if my YAML file is invalid).



Here's the code:




MyCompanyMyBundleEntityMeeting.php




class Meeting

/**
* @var Point
*
* @ORMColumn(name="location", type="point", nullable=true)
* @JMSGroups("privateContact")
*/
private $location;

// Getters, setters and other stuff




ACMESomeBundleORMPoint.php




class Point

/**
* @var float
*/
private $latitude;

/**
* @var float
*/
private $longitude;

// Getters, setters




MyCompanyMyBundleResourcesconfigserializerModel.Point.yml




ACMESomeBundleORMPoint:
properties:
latitude:
groups: ['privateContact']
longitude:
groups: ['privateContact']



MyCompanyMyBundleControllerApiController.php




/**
* @RestView(serializerGroups="privateContact")
*/
public function getMeetingAction()

...

return array(
'status' => 'OK',
'meeting' => $meeting
);




Resulting JSON




"meeting":"id":10,"date":"2015-07-16T19:20:00+0200","location":









share|improve this question


























    2














    I have a simple REST api created using FOSRestBundle, and returns serialized objects using JMSSerializerBundle.



    One of the entities of my bundle uses an entity located in another bundle.



    I set up serialization groups for my entity, but they are obviously not set for the aggregated entity so its json result is empty.



    I've followed the documentation for YAML groups configuration: http://jmsyst.com/libs/serializer/master/reference/yml_reference but the file seems to be unused (adding groups to the entity's properties has no effect, and I don't get any errors if my YAML file is invalid).



    Here's the code:




    MyCompanyMyBundleEntityMeeting.php




    class Meeting

    /**
    * @var Point
    *
    * @ORMColumn(name="location", type="point", nullable=true)
    * @JMSGroups("privateContact")
    */
    private $location;

    // Getters, setters and other stuff




    ACMESomeBundleORMPoint.php




    class Point

    /**
    * @var float
    */
    private $latitude;

    /**
    * @var float
    */
    private $longitude;

    // Getters, setters




    MyCompanyMyBundleResourcesconfigserializerModel.Point.yml




    ACMESomeBundleORMPoint:
    properties:
    latitude:
    groups: ['privateContact']
    longitude:
    groups: ['privateContact']



    MyCompanyMyBundleControllerApiController.php




    /**
    * @RestView(serializerGroups="privateContact")
    */
    public function getMeetingAction()

    ...

    return array(
    'status' => 'OK',
    'meeting' => $meeting
    );




    Resulting JSON




    "meeting":"id":10,"date":"2015-07-16T19:20:00+0200","location":









    share|improve this question
























      2












      2








      2







      I have a simple REST api created using FOSRestBundle, and returns serialized objects using JMSSerializerBundle.



      One of the entities of my bundle uses an entity located in another bundle.



      I set up serialization groups for my entity, but they are obviously not set for the aggregated entity so its json result is empty.



      I've followed the documentation for YAML groups configuration: http://jmsyst.com/libs/serializer/master/reference/yml_reference but the file seems to be unused (adding groups to the entity's properties has no effect, and I don't get any errors if my YAML file is invalid).



      Here's the code:




      MyCompanyMyBundleEntityMeeting.php




      class Meeting

      /**
      * @var Point
      *
      * @ORMColumn(name="location", type="point", nullable=true)
      * @JMSGroups("privateContact")
      */
      private $location;

      // Getters, setters and other stuff




      ACMESomeBundleORMPoint.php




      class Point

      /**
      * @var float
      */
      private $latitude;

      /**
      * @var float
      */
      private $longitude;

      // Getters, setters




      MyCompanyMyBundleResourcesconfigserializerModel.Point.yml




      ACMESomeBundleORMPoint:
      properties:
      latitude:
      groups: ['privateContact']
      longitude:
      groups: ['privateContact']



      MyCompanyMyBundleControllerApiController.php




      /**
      * @RestView(serializerGroups="privateContact")
      */
      public function getMeetingAction()

      ...

      return array(
      'status' => 'OK',
      'meeting' => $meeting
      );




      Resulting JSON




      "meeting":"id":10,"date":"2015-07-16T19:20:00+0200","location":









      share|improve this question













      I have a simple REST api created using FOSRestBundle, and returns serialized objects using JMSSerializerBundle.



      One of the entities of my bundle uses an entity located in another bundle.



      I set up serialization groups for my entity, but they are obviously not set for the aggregated entity so its json result is empty.



      I've followed the documentation for YAML groups configuration: http://jmsyst.com/libs/serializer/master/reference/yml_reference but the file seems to be unused (adding groups to the entity's properties has no effect, and I don't get any errors if my YAML file is invalid).



      Here's the code:




      MyCompanyMyBundleEntityMeeting.php




      class Meeting

      /**
      * @var Point
      *
      * @ORMColumn(name="location", type="point", nullable=true)
      * @JMSGroups("privateContact")
      */
      private $location;

      // Getters, setters and other stuff




      ACMESomeBundleORMPoint.php




      class Point

      /**
      * @var float
      */
      private $latitude;

      /**
      * @var float
      */
      private $longitude;

      // Getters, setters




      MyCompanyMyBundleResourcesconfigserializerModel.Point.yml




      ACMESomeBundleORMPoint:
      properties:
      latitude:
      groups: ['privateContact']
      longitude:
      groups: ['privateContact']



      MyCompanyMyBundleControllerApiController.php




      /**
      * @RestView(serializerGroups="privateContact")
      */
      public function getMeetingAction()

      ...

      return array(
      'status' => 'OK',
      'meeting' => $meeting
      );




      Resulting JSON




      "meeting":"id":10,"date":"2015-07-16T19:20:00+0200","location":






      php symfony fosrestbundle jmsserializerbundle






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked May 12 '15 at 10:26









      Jukurrpa

      2,29853463




      2,29853463






















          1 Answer
          1






          active

          oldest

          votes


















          0














          For anyone else who has encountered this problem, I found that the View annotation in this example did not work. However, if I set the serialization context with the correct group in the controller action then it worked just fine:



          $view->setSerializationContext(SerializationContext::create()->setGroups('site'));





          share|improve this answer






















            Your Answer






            StackExchange.ifUsing("editor", function ()
            StackExchange.using("externalEditor", function ()
            StackExchange.using("snippets", function ()
            StackExchange.snippets.init();
            );
            );
            , "code-snippets");

            StackExchange.ready(function()
            var channelOptions =
            tags: "".split(" "),
            id: "1"
            ;
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function()
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled)
            StackExchange.using("snippets", function()
            createEditor();
            );

            else
            createEditor();

            );

            function createEditor()
            StackExchange.prepareEditor(
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader:
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            ,
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            );



            );













            draft saved

            draft discarded


















            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f30188138%2fsetting-serialization-groups-for-entity-in-other-bundle-with-fosrestbundle-jms%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            0














            For anyone else who has encountered this problem, I found that the View annotation in this example did not work. However, if I set the serialization context with the correct group in the controller action then it worked just fine:



            $view->setSerializationContext(SerializationContext::create()->setGroups('site'));





            share|improve this answer



























              0














              For anyone else who has encountered this problem, I found that the View annotation in this example did not work. However, if I set the serialization context with the correct group in the controller action then it worked just fine:



              $view->setSerializationContext(SerializationContext::create()->setGroups('site'));





              share|improve this answer

























                0












                0








                0






                For anyone else who has encountered this problem, I found that the View annotation in this example did not work. However, if I set the serialization context with the correct group in the controller action then it worked just fine:



                $view->setSerializationContext(SerializationContext::create()->setGroups('site'));





                share|improve this answer














                For anyone else who has encountered this problem, I found that the View annotation in this example did not work. However, if I set the serialization context with the correct group in the controller action then it worked just fine:



                $view->setSerializationContext(SerializationContext::create()->setGroups('site'));






                share|improve this answer














                share|improve this answer



                share|improve this answer








                edited Nov 12 '18 at 18:11









                cezar

                5,49332454




                5,49332454










                answered May 23 '16 at 12:59









                frak

                6311927




                6311927



























                    draft saved

                    draft discarded
















































                    Thanks for contributing an answer to Stack Overflow!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid


                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.

                    To learn more, see our tips on writing great answers.





                    Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


                    Please pay close attention to the following guidance:


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid


                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.

                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function ()
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f30188138%2fsetting-serialization-groups-for-entity-in-other-bundle-with-fosrestbundle-jms%23new-answer', 'question_page');

                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    這個網誌中的熱門文章

                    Barbados

                    How to read a connectionString WITH PROVIDER in .NET Core?

                    Node.js Script on GitHub Pages or Amazon S3