L'éditeur PHP Xigua vous présentera comment utiliser des fichiers image pour envoyer du JSON dans Postman. Postman est un puissant outil de développement d'API qui peut aider les développeurs à effectuer des tests et du débogage d'interface. Normalement, nous utilisons Postman pour envoyer des données JSON, mais que se passe-t-il si nous devons inclure des fichiers image dans JSON ? Cet article présentera en détail comment implémenter cette fonction dans Postman à travers quelques étapes simples, vous permettant d'utiliser Postman pour tester l'interface de manière plus flexible. Que vous soyez débutant ou développeur expérimenté, vous obtiendrez des conseils pratiques et des connaissances grâce à cet article. Découvrons-le ensemble !
Je souhaite envoyer un fichier json avec des images dans postman mais j'ai l'erreur suivante :
"status": 415, "error": "unsupported media type",
package com.shayanr.homeservicespring.controller; import com.shayanr.homeservicespring.entity.users.expert; import com.shayanr.homeservicespring.service.expertservice; import lombok.requiredargsconstructor; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.multipartfile; import java.io.file; import java.io.ioexception; @restcontroller @requestmapping("/expert") @requiredargsconstructor public class expertcontroller { private expertservice expertservice; @postmapping("/register") public void register(@requestbody expert expert, @requestparam("image") multipartfile image) throws ioexception { expertservice.signup(expert, image); } }
@override @transactional public expert signup(expert expert, multipartfile image) throws ioexception { if (expert == null) { throw new nullpointerexception("null expert"); } if (!validate.namevalidation(expert.getfirstname()) || !validate.namevalidation(expert.getlastname()) || !validate.emailvalidation(expert.getemail()) || !validate.passwordvalidation(expert.getpassword())) { throw new persistenceexception("wrong validation"); } string extension = filenameutils.getextension(image.getname()); if (extension.equalsignorecase("video") || extension.equalsignorecase("mp4")) { throw new persistenceexception("invalid image format. only image files are allowed."); } expert.setconfirmation(confirmation.new); byte[] imageinbytes = image.getbytes(); expert.setimage(imageinbytes); expertrepository.save(expert); return expert; }
Dans Postman, ma première ligne est json et ce fichier json
{ "firstName": "Sasa", "lastName": "Weel", "email": "[email protected]", "password": "Sasasd1@", "signUpDate": "2024-01-31", "signUpTime": "10:00:00" }
Dans la deuxième ligne, j'ai défini l'image là où se trouve le problème
Votre paramètre @requestparam("image") multipartfile image
semble correct.
La prochaine chose à faire est donc de vous assurer d'indiquer à Spring que vous souhaitez autoriser les fichiers en plusieurs parties.
Ceci est un exemple application.properties
Configuration :
spring.servlet.multipart.enabled=true
Paramètres de configuration supplémentaires pour contrôler la taille du téléchargement :
# Adjust these file size restrictions and location as nessessary spring.servlet.multipart.max-file-size=2MB spring.servlet.multipart.max-request-size=10MB spring.servlet.multipart.location=/temp
Je soupçonne que le paramètre @requestbody expert expert
devrait avoir quelque chose à voir avec cela.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!