Tutoriel API REST avec symfony 3 : erreur

Problème avec les formulaires

Le problème exposé dans ce sujet a été résolu.

Bonjour à tous !

Je suis en train de suivre le tutoriel de @BestCoder sur la création d’une api REST, à vrai dire c’est la troisième fois que je le recommence, mais je bloque encore et encore sur le même point.

Plus précisément à partir de la partie concernant l’amélioration de l’api (voir sur cette page), juste avant ce qui traite des tokens.

Quand je tente l’ajout d’un utilisateur avec mot de passe via Postman, j’obtiens :

Neither the property \"plainPassword\" nor one of the methods \"getPlainPassword()\", \"plainPassword()\", \"isPlainPassword()\", \"hasPlainPassword()\", \"__get()\" exist and have public access in class \"AppBundle\\Entity\\User\"."

J’en ai déduis que dans mon entité User je devais définir un getter, ce que je fais avec :

1
2
3
4
public function getPlainpassword()
    {
        return $this->plainPassword;
    }

Cela règle mon soucis, mais finalement provoque une erreur 400, toujours via un POST :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
{
    "code": 400,
    "message": "Validation Failed",
    "errors": {
        "errors": [
            "This form should not contain extra fields."
        ],
        "children": {
            "firstname": [],
            "lastname": [],
            "plainPassword": {
                "errors": [
                    "This value should not be blank."
                ]
            },
            "email": []
        }
    }
}

Pour info je fais un POST de ce qui suit, en JSON :

1
2
3
4
5
6
{
"firstname": "wil",
"lastname": "fryed",
"email": "yo@yo.fr",
"password": "yoyo"
}

Je n’arrive pas à voir ce qui bloque de mon côté. J’ai lu et relu mon code, il correspond au tuto, mais si besoin je peux le fournir.

Quoiqu’il en soit, merci pour votre temps.

Effectivement je me suis bien trompé dans mon payload.

Et au final il manquait aussi dans mon entité User, le setter et le getter pour plainPassword. Ce n’était pas explicitement indiqué.

Du coup une fois l’entité modifiée je n’ai plus d’erreurs !

Merci.

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte