Partage
  • Partager sur Facebook
  • Partager sur Twitter

[symfony 5 API] hateoas n'affiche pas le lien

    5 mai 2021 à 18:52:06

    Hello, j'essaye d'utiliser le bundle BazingaHateoas afin de rendre mon api découvrable mais les liens ne s'affichent pas. je n'arrive pas vraiment à comprendre pourquoi, il me semble bien avoir suivi la doc.

    voici mon entité :

    /**
     * @ORM\Entity(repositoryClass=ProductRepository::class)
     * @Hateoas\Relation(
     *      "self",
     *      href = @Hateoas\Route(
     *          "productShow",
     *          parameters = { "id" = "expr(object.getId())" },
     *          absolute = true,
     *      )
     * )
     */
    class Product
    { ... }

    et voici mon controller avec la route correspondante :

    /**
         * @Route("/api/products/{id}/show", name="productShow")
         * @Method({"GET"})
         */
        public function showDetail(string $id){
            if(empty($product = $this->getDoctrine()->getRepository(Product::class)->find($id))){
                return $this->json(['message' => 'Product not found'], 404, [], []);
            }
    
            $response = $this->json($product, 200, [], []);
    
            return $response;
        }

    Si vous avez des réponses ce serait d'une grande aide ! merci


    • Partager sur Facebook
    • Partager sur Twitter
      7 mai 2021 à 16:33:58

      Salut tu obtiens quoi quand tu lances cette commande à la racine de ton projet

          Linux

      ./bin/console debug:router | grep productShow

       Windows

      php ./bin/console debug:router | findstr productShow

      -
      Edité par Warps73 7 mai 2021 à 16:35:16

      • Partager sur Facebook
      • Partager sur Twitter

      While(true)

        11 mai 2021 à 16:41:53

        hello, désolé de ma réponse tardive ! Voici ce que ça m'affiche :

          productShow                ANY      ANY      ANY    /api/products/{id}/show



        • Partager sur Facebook
        • Partager sur Twitter
          17 juin 2021 à 18:02:22

          hello à tous,

          j'ai le même problème. Quelle a été la solution finalement ?

          • Partager sur Facebook
          • Partager sur Twitter
            18 juin 2021 à 15:30:47

            Hello,

            au final je me suis rendu compte (pour symfony 5 en tout cas) que le jms serializer était obligatoire, le bundle est basé dessus. Le cours sur OC n'est pas à jour à ce niveau, il faut bien lire la doc ;)

            • Partager sur Facebook
            • Partager sur Twitter
              21 juin 2021 à 8:40:47

              Merci beaucoup de ta réponse. J'en étais arrivée à la même conclusion. çà me rassure que quelqu'un d'autres ait eu la même analyse que moi.
              • Partager sur Facebook
              • Partager sur Twitter

              [symfony 5 API] hateoas n'affiche pas le lien

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown