PHP-Editor Xigua zeigt Ihnen, wie Sie Bilddateien zum Senden von JSON in Postman verwenden. Postman ist ein leistungsstarkes API-Entwicklungstool, das Entwicklern beim Testen und Debuggen von Schnittstellen helfen kann. Normalerweise verwenden wir Postman zum Senden von JSON-Daten, aber was ist, wenn wir Bilddateien in JSON einbinden müssen? In diesem Artikel wird anhand einiger einfacher Schritte detailliert beschrieben, wie Sie diese Funktion in Postman implementieren, sodass Sie Postman flexibler für Schnittstellentests verwenden können. Egal, ob Sie Anfänger oder erfahrener Entwickler sind, in diesem Artikel erhalten Sie praktische Tipps und Wissen. Finden wir es gemeinsam heraus!
Ich möchte eine JSON-Datei mit Bildern in Postman senden, habe aber die folgende Fehlermeldung erhalten:
"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; }
In Postman ist meine erste Zeile JSON und diese JSON-Datei
{ "firstName": "Sasa", "lastName": "Weel", "email": "[email protected]", "password": "Sasasd1@", "signUpDate": "2024-01-31", "signUpTime": "10:00:00" }
In der zweiten Zeile setze ich das Bild dort, wo das Problem liegt
Ihr @requestparam("image") multipartfile image
Parameter sieht korrekt aus.
Als nächstes sollten Sie Spring mitteilen, dass Sie mehrteilige Dateien zulassen möchten.
Dies ist ein Beispiel application.properties
Konfiguration:
spring.servlet.multipart.enabled=true
Zusätzliche Konfigurationseinstellungen zur Steuerung der Upload-Größe:
# 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
Ich vermute, dass der @requestbody expert expert
-Parameter etwas damit zu tun haben sollte.
Das obige ist der detaillierte Inhalt vonSenden Sie JSON mithilfe von Bilddateien in Postman. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!