Bonjour,
Je suis toujours occupé à développer mon application REST et je rencontre une petite difficulté.
Via mon API je puis récupérer un produit, imaginons qu'une application cliente récupère un produit et souhaite modifier son prix, elle récupère donc un objet json qu'elle modifie pour ensuite le renvoyer à l'API.
Voici un exemple de résultat que l'API peu retourner:
1 2 3 4 5 | { "id": 21, "libelle": "Entrecôte", "prix": 25 } |
Le problème est que dans mon formulaire, je n'accepte que les champ libelle et prix, du coup si je me contente de modifier uniquement le libellé et de renvoyer l'objet ainsi modifier l'API me renvoie une erreur 422, ce qui est logique, la validation du PUT ayant échouée à cause d'un élément qui a rien à y faire.
Sauf que c'est assez dommage, ce qui aurai été bien c'est que l'API se contente d'ignorer les éléments en trop sans pour autant faire échouer la validation.
D'autant que dans la doc de FOSRestBundle, à un moment ils en parlent à propos des référence (ManyTo*).
Je pense que la solution à mon problème doit se trouver dans le paramétrage du formulaire, le problème c'est que malgré mes recherches je n'ai pas réussi à trouver de documentation au sujet de la méthode configureOptions
de la classe AbstractType
et les options à passer au OptionsResolver
.
Pouvez-vous m'aider ?
Cordialement, La source.
Edit: Bon du coup je me sens très bête je viens de trouver en tapant ma recherche en anglais (j'aurai du commencer par là) Il suffit d'ajouter mon champ id comme n'importe quel champ de mon formulaire et ajouter comme option 'mapped' => false
Désolé du dérangement.