IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

FosRestBundle Put Patch


Sujet :

Symfony PHP

  1. #1
    Membre du Club
    Homme Profil pro
    .
    Inscrit en
    Avril 2016
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : .

    Informations forums :
    Inscription : Avril 2016
    Messages : 108
    Points : 49
    Points
    49
    Par défaut FosRestBundle Put Patch
    Bonjour,

    J'utilise FosRestBundle afin de créer une Api, j'utilisais ultérieurement les formulaires pour valider mes données. J'essaie maintenant de tirer partit vraiment du bundle et utilise les body_converter.
    Donc pour le create par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
        /**
         * @Rest\Post("/enseignes")
         * @Rest\View(statusCode= Response::HTTP_CREATED)
         * @ParamConverter("enseigne",converter="fos_rest.request_body")
         */
        public function createEnseigneAction(Enseigne $enseigne, ConstraintViolationList $violations){
     
     
            if (count($violations)){
                return $this->view($violations,Response::HTTP_BAD_REQUEST);
            }
     
            $em = $this->getDoctrine()->getManager();
     
            $em->persist($enseigne);
            $em->flush();
     
     
     
            return $enseigne;
     
        }
    Mais du coup en faisant le PUT/Patch me voila bloquer sur une chose assez bête, peut être je n'ai pas la bonne façon de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
        /**
         * @Rest\Put("/enseignes/{id}",
         *     requirements={"id" = "\d+"})
         * @ParamConverter("enseigne",converter="fos_rest.request_body")
         * @Rest\View()
         */
        public function updateEnseigneAction(Enseigne $enseigne, ConstraintViolationList $violations){
     
     
     
                    if (count($violations)){
                        return $this->view($violations,Response::HTTP_BAD_REQUEST);
                    }
     
                    $em = $this->getDoctrine()->getManager();
     
                    $em->persist($enseigne);
                    $em->flush();
     
     
     
                    return $enseigne;
     
     
     
     
     
     
        }
    Et du coup je ne vois pas comment valider le fait que l'enseigne existe ou pas.. ??

  2. #2
    Membre du Club
    Homme Profil pro
    .
    Inscrit en
    Avril 2016
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : .

    Informations forums :
    Inscription : Avril 2016
    Messages : 108
    Points : 49
    Points
    49
    Par défaut
    Petit up , apres plusieurs recherches et consultation de la doc, si je comprends, tout se passe dans le paramConverter.

    Le probleme c'est que je n'arrive toujours pas à checker si l'id envoyé dans la route est valide ou pas, ça me crée une entité si l'id n'existe pas..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
        /**
         * @Rest\Put("/enseignes/{enseigne_id}",
         *     requirements={"enseigne_id" = "\d+"})
         * @ParamConverter("enseigne",converter="fos_rest.request_body", options={"id": "enseigne_id"})
         * @Rest\View()
         */
        public function updateEnseigneAction(Enseigne $enseigne, ConstraintViolationList $violations){
     
     
     
                        if (count($violations)){
                            return $this->view($violations,Response::HTTP_BAD_REQUEST);
                        }
     
     
     
                        $em = $this->getDoctrine()->getManager();
     
                        $em->persist($enseigne);
                        $em->flush();
     
     
     
                        return $enseigne;
     
     
     
     
        }

Discussions similaires

  1. Patch modifiant l'offset d'un .exe
    Par Goshi dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 18/02/2005, 18h24
  2. [eclipse] HashMap et methode put
    Par topaze dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 26/01/2005, 16h37
  3. Génération de lignes entières avec TEXT_IO.PUT
    Par ludo.guy dans le forum Oracle
    Réponses: 9
    Dernier message: 13/10/2004, 15h28
  4. [Apache] Patches Sécurité
    Par orafrance dans le forum Oracle
    Réponses: 4
    Dernier message: 08/10/2004, 15h38
  5. Comment on patch un .configure ?
    Par Shrieker dans le forum Linux
    Réponses: 2
    Dernier message: 21/04/2004, 12h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo