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 :

FoSRest Post transformé en get en prod


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 97
    Par défaut FoSRest Post transformé en get en prod
    Bonjour,

    Je suis actuellement en train de mettre en place une api REST sur mon site à l'aide du bundle FoSRestBundle. Dans l'ensemble de mes fonctions certaines sont en POST (par exemple l'inscription d'un utilisateur ou encore la mise à jour du profil d'un utilisateur).

    Tout fonctionne bien en environnement de Dev, j'arrive à faire mes requêtes POST et par exemple à créer mon utilisateur ou à mettre à jour un profil. Par contre quand je passe en mode Prod via le app.php plutôt que le app_dev.php, j'obtiens l'erreur :

    No route found for "GET /ws/v1/users": Method Not Allowed (Allow: POST)
    En environnement de production il transforme toutes mes requêtes POST en requête GET alors que tout fonctionne bien lorsque je suis en environnement de dev...

    (J'ai déjà essayé de vider le cache et regardé un peu dans les fichiers de config mais je n'ai rien trouvé qui pourrait causer ça...)

    Est-ce que quelqu'un aurait une idée d'où cela pourrait venir ? :/

    Merci d'avance

  2. #2
    Membre Expert
    Avatar de pmithrandir
    Homme Profil pro
    Responsable d'équipe développement
    Inscrit en
    Mai 2004
    Messages
    2 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Responsable d'équipe développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 419
    Par défaut
    Idée comme ca, n'a tu pas mis tes appels a rest dans routing_dev a la place de routing.yml ?

    Autrement, tu peux aussi essayer une suppression des fichiers du cache(par ligne de commande) plus efficace parfois que d'appeller cache:clear.

    Par ailleur, est ce que tu vois une différence dans tes routes en lancant les commande suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    app/console router:debug --env=prod
    app/console router:debug --env=dev

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 97
    Par défaut
    Bonjour Pmithrandir et merci de ton aide,

    J'ai bien mis mes routes dans routing.yml et j'ai check mes routes en prod et en dev elles sont pareilles. De toute façon ma route existe bien vu qu'il me dit "(ALLOW POST)" donc c'est que pour lui la route en POST existe bien.

    A mon avis c'est juste que Symfony (ou un autre bundle d'ailleurs, peut-être FoSRest ?) me transforme ma requête POST en requête GET et uniquement en environnement de prod et je n'arrive pas à savoir pour quelle raison :/

  4. #4
    Membre Expert
    Avatar de pmithrandir
    Homme Profil pro
    Responsable d'équipe développement
    Inscrit en
    Mai 2004
    Messages
    2 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Responsable d'équipe développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 419
    Par défaut
    ok, je viens de comprendre je pense.

    Tu envoies une requête POST avec ton client, et symfony te répond qu'il reçoit un get. C'est ça ?

    Est-ce que tu peux essayer avec un autre client REST, c'est peut etre vraiment un GET que tu envoies.(on est pas à l'abri d'un bug du client aussi)

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 97
    Par défaut
    Oui c'est ça j'envoie une requête POST avec mon client et en dev tout fonctionne bien il reçoit bien un POST et effectue le bon traitement. Par contre en prod il me transforme mon POST en GET (alors que l'unique chose que je change c'est dans l'url je met app.php au lieu de app_dev.php).

    J'ai essayé avec un autre client REST et j'ai la même chose :

    No route found for "GET /ws/v1/users/1/addshoptosavedshops": Method Not Allowed (Allow: POST)
    C'est vraiment un problème qui me dépasse là perso ^^

  6. #6
    Membre Expert
    Avatar de pmithrandir
    Homme Profil pro
    Responsable d'équipe développement
    Inscrit en
    Mai 2004
    Messages
    2 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Responsable d'équipe développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 419
    Par défaut
    Eventuellement, peux tu montrer ta requete + les annotations ?

    je viens de tester sur mon application et je ne reproduit pas avec la branch dev-master de fosrestbundle

Discussions similaires

  1. Réponses: 4
    Dernier message: 14/04/2014, 10h24
  2. Réponses: 14
    Dernier message: 26/02/2010, 16h34
  3. Transformer une requete GET en POST
    Par Strab dans le forum Général Conception Web
    Réponses: 2
    Dernier message: 04/02/2010, 08h46
  4. [JAX-WS] appel d'un WS par POST et pas GET
    Par Le Marlou dans le forum Services Web
    Réponses: 2
    Dernier message: 31/01/2010, 20h55
  5. Problème de formulaire en POST et en GET
    Par lionel84 dans le forum Struts 1
    Réponses: 0
    Dernier message: 13/01/2009, 15h58

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