web-dev-qa-db-fra.com

POSTMAN pour Multipart/Form-Data

Comment utiliser POSTMAN pour Multipart/form-data qui a un en-tête de personnalisation pour tester mon contrôleur prenant 2 fichiers en paramètre (public ... controller( MultipartFile[] files))?

POST .... HTTP/1.1
.
.
.
---boundary123
Content-type:application/octet-stream
content-Disposition: form-data filenale="abc.txt" name="someuniquename"
[paylaod content](this is in xml format)
---boundary123
content-type:application/json
content-Disposition:form-data name="metadata"
{ID:"999"}
---boundary123
6
phalco

 enter image description here

Étapes à suivre pour utiliser 'Multipart/form-data' dans Postman

  1. Créer un nouvel onglet
  2. Insérer l'URL du contrôleur
  3. Définir le type de méthode sur POST
  4. Sous l'onglet Body, sélectionnez form-data
  5. Pour chaque clé qui est un fichier, définissez le type Value sur File
13
Afridi

Il s’agit d’un problème connu de longue date pour Postman. Cela peut être un peu délicat si vous avez une configuration qui consiste à utiliser du texte ou du JSON pour une partie, mais une image pour une autre. La clé consiste à définir l'en-tête Content-Type sur multipart/mixed, puis à tout convertir en un fichier. Vous pouvez ignorer l'étape "convertir le fichier en fichier" si c'est du texte :)

Laisse ce commentaire sur: https://github.com/postmanlabs/postman-app-support/issues/1104

Ninja update: Vous ne savez pas si cela aidera quelqu'un d'autre, mais il existe une solution de contournement pour un scénario spécifique dans lequel plusieurs types de fichiers/types de contenu sont en cours de chargement dans une même demande multipart POST].

  1. Définissez l'en-tête Content-Type sur multipart/mixed.
  2. Sélectionnez l'option form-data dans Body.
  3. Convertissez tous vos éléments en fichiers. Le contenu de la chaîne doit devenir un fichier texte, etc.
  4. Ajoutez chaque fichier en sélectionnant file, en ajoutant un nom de clé.

Cette approche ne nécessite pas de spécifier manuellement chaque Content-Type ou Content-Disposition. Le truc ici était de sérialiser tout le contenu pertinent dans un type de fichier persistant. J'espère que ça aide quelqu'un!

0
Adam Gerard