Heim > Java > Senden Sie JSON mithilfe von Bilddateien in Postman

Senden Sie JSON mithilfe von Bilddateien in Postman

WBOY
Freigeben: 2024-02-09 16:24:08
nach vorne
912 Leute haben es durchsucht

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!

Frageninhalt

Ich möchte eine JSON-Datei mit Bildern in Postman senden, habe aber die folgende Fehlermeldung erhalten:

"status": 415,
"error": "unsupported media type",
Nach dem Login kopieren

Experten-Controller

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);
    }
}
Nach dem Login kopieren

Expertenservice

@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;

}
Nach dem Login kopieren

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"
}
Nach dem Login kopieren

In der zweiten Zeile setze ich das Bild dort, wo das Problem liegt

Workaround

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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!

Quelle:stackoverflow.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage