Rumah > Java > Hantar JSON menggunakan fail imej dalam Posman

Hantar JSON menggunakan fail imej dalam Posman

WBOY
Lepaskan: 2024-02-09 16:24:08
ke hadapan
895 orang telah melayarinya

PHP Editor Xigua akan memperkenalkan anda cara menggunakan fail imej untuk menghantar JSON dalam Posman. Posman ialah alat pembangunan API yang berkuasa yang boleh membantu pembangun melakukan ujian antara muka dan penyahpepijatan. Biasanya, kami menggunakan Posman untuk menghantar data JSON, tetapi bagaimana jika kami perlu memasukkan fail imej dalam JSON? Artikel ini akan memperkenalkan secara terperinci cara melaksanakan fungsi ini dalam Posman melalui beberapa langkah mudah, membolehkan anda menggunakan Posman untuk ujian antara muka dengan lebih fleksibel. Sama ada anda seorang pemula atau pembangun berpengalaman, anda akan mendapat petua dan pengetahuan praktikal daripada artikel ini. Mari kita ketahui bersama!

Kandungan soalan

Saya ingin menghantar fail json dengan imej dalam posmen tetapi saya mendapat ralat berikut:

"status": 415,
"error": "unsupported media type",
Salin selepas log masuk

Pengawal Pakar

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);
    }
}
Salin selepas log masuk

Perkhidmatan Pakar

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

}
Salin selepas log masuk

Di posmen baris pertama saya ialah json dan fail json ini

{
  "firstName": "Sasa",
  "lastName": "Weel",
  "email": "[email protected]",
  "password": "Sasasd1@",
  "signUpDate": "2024-01-31",
  "signUpTime": "10:00:00"
}
Salin selepas log masuk

Dalam baris kedua saya menetapkan imej di mana masalahnya

Penyelesaian

Parameter @requestparam("image") multipartfile image anda kelihatan betul.

Jadi perkara seterusnya yang perlu anda lakukan ialah pastikan anda memberitahu spring bahawa anda ingin membenarkan fail berbilang bahagian.

Ini adalah contoh application.properties Konfigurasi:

spring.servlet.multipart.enabled=true
Salin selepas log masuk

Tetapan konfigurasi tambahan untuk mengawal saiz muat naik:

# 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
Salin selepas log masuk

Saya mengesyaki parameter @requestbody expert expert sepatutnya ada kaitan dengan ini.

Atas ialah kandungan terperinci Hantar JSON menggunakan fail imej dalam Posman. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:stackoverflow.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan