Maison > Java > Envoyer JSON à l'aide de fichiers image dans Postman

Envoyer JSON à l'aide de fichiers image dans Postman

WBOY
Libérer: 2024-02-09 16:24:08
avant
867 Les gens l'ont consulté

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 !

Contenu de la question

Je souhaite envoyer un fichier json avec des images dans postman mais j'ai l'erreur suivante :

"status": 415,
"error": "unsupported media type",
Copier après la connexion

Contrôleur expert

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);
    }
}
Copier après la connexion

Service expert

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

}
Copier après la connexion

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"
}
Copier après la connexion

Dans la deuxième ligne, j'ai défini l'image là où se trouve le problème

Workaround

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.propertiesConfiguration :

spring.servlet.multipart.enabled=true
Copier après la connexion

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
Copier après la connexion

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!

source:stackoverflow.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal