Bonjour,

Je cherche à enregistrer dans ma BDD plusieurs données d'un coup. Pour cela, j'utilise en back Symfony et en front Vuejs.
Je fait mes tests avec Postman.
J'envoie ceci comme donnée :

{
  "0": {
    "type": "qsdfqsdf",
    "item": "qsdfqsdf",
    "choices": [
      {
        "name": "aze"
      },
      {
        "name": "kkj"
      }
    ]
  },
  "1": {
    "type": "jjkjk",
    "item": "jkjk",
    "choices": [
      {
        "name": "kjjk"
      }
    ]
  }
}

Donc je veux envoyer deux lignes directement dans ma table.

Ce que je veux

J'aimerai que cela enregistre mes deux lignes dans ma table.

Ce que j'obtiens

J'obtiens l'erreur : 422 Unprocessable Entity et il me dit que mes champs "item" et "type" ne sont pas remplis...
Bref, j'imagine qu'il doit y avoir une configuration à faire côté symfony et API Platform afin de permettre l'envoi de multiples données d'un coup ?

Je précise que j'ai essayé également en supprimant les 0 et 1 et en envoyant un objet comme ceci :

{
    "type": "qsdfqsdf",
    "item": "qsdfqsdf",
    "choices": [
      {
        "name": "aze"
      },
      {
        "name": "kkj"
      }
    ]
  },
{
    "type": "jjkjk",
    "item": "jkjk",
    "choices": [
      {
        "name": "kjjk"
      }
    ]
}

Mais le résultat est le même :-(

Quelqu'un a une idée ?

Merci !

2 réponses


Salut,
c'est probablement la structure(syntax) de tes données qui n'est pas bonne, assure toi que ton API attend bien une liste d'objet.
Parce que la si tu t'es pas foiré dans les clés je ne vois que ça.
Quand je dis liste d'objet, je veux dire par la { {...}, {...} }, peut être que ton API dans l'etat actuel attend plutot un tableau d'objet [ {...}, {...} ].

Jako
Auteur

Bonjour Merci pour ce message.
J'ai testé les deux à vrai dire...et cela me renvoie le même résultat.
En fouillant un peu, je pense que c'est parce qu'API Platform attend UNE seule entrée et non plusieurs pour faire le POST.
Seulement, je ne sais pas comment faire pour faire en sorte de lui en donner plusieurs.
Mon problème revient à celui ci au final : https://github.com/api-platform/api-platform/issues/294
où une solution est donnée...mais je ne vois pas comment l'appliquer...

Si vous avez des pistes...

Merci