programing

Postman에서 파일 및 JSON 데이터를 업로드하려면 어떻게 해야 합니까?

prostudy 2022. 6. 18. 09:15
반응형

Postman에서 파일 및 JSON 데이터를 업로드하려면 어떻게 해야 합니까?

Spring MVC를 사용하고 있는 방법은 다음과 같습니다.

/**
* Upload single file using Spring Controller.
*/
@RequestMapping(value = "/uploadFile", method = RequestMethod.POST)
public @ResponseBody ResponseEntity<GenericResponseVO<? extends IServiceVO>> uploadFileHandler(
            @RequestParam("name") String name,
            @RequestParam("file") MultipartFile file,
            HttpServletRequest request,
            HttpServletResponse response) {

    if (!file.isEmpty()) {
        try {
            byte[] bytes = file.getBytes();

            // Creating the directory to store file
            String rootPath = System.getProperty("catalina.home");
            File dir = new File(rootPath + File.separator + "tmpFiles");
            if (!dir.exists()) {
                dir.mkdirs();
            }

            // Create the file on server
            File serverFile = new File(dir.getAbsolutePath() + File.separator + name);
            BufferedOutputStream stream = new BufferedOutputStream(new FileOutputStream(serverFile));
            stream.write(bytes);
            stream.close();

            System.out.println("Server File Location=" + serverFile.getAbsolutePath());

            return null;
        } catch (Exception e) {
            return null;
        }
    }
}


우편배달부의 세션 ID와 파일도 전달해야 합니다.가가어 떻떻 ?럴? ???

우체부에서 메서드 유형을 POST로 설정합니다.

다음으로 [Body]-> [ Form - data ]-> [ Parameter Name ]를 선택합니다(코드에 따라 파일).

값 열 옆에 "text, file" 드롭다운이 나타나면 File을 선택합니다.이미지 파일을 선택하여 게시합니다.

나머지 "텍스트" 기반 매개변수의 경우, 우편 배달원과 마찬가지로 게시할 수 있습니다.파라미터 이름을 입력하고 오른쪽 드롭다운 메뉴에서 "텍스트"를 선택한 후 원하는 값을 입력한 후 보내기 버튼을 누릅니다.컨트롤러 메서드가 호출됩니다.

누락된 비주얼 가이드

먼저 거의 보이지 않는 옅은 회색 온 화이트 드롭다운을 찾아야 합니다.File는 ' 해제'의 키입니다.Choose Files버튼을 클릭합니다.

선택한 후POST를 선택합니다.Body->form-datadropdown 、 [ File ]드롭다운을 찾은 후 [File]를 선택합니다.그 때 비로소 'Choose Files' 버튼이 마법처럼 나타납니다.

Postman POST 파일 설정 - (Text, File) 드롭다운 강조 표시

다음과 같이 할 수 있습니다.

postman_file_files_with_json

다음과 같이 합니다.

여기에 이미지 설명 입력

본문 -> 폼 데이터 -> 파일 선택

"이름" 대신 "파일"을 입력해야 합니다.

또한 Body -> raw 필드에서 JSON 데이터를 전송할 수도 있습니다.(JSON 문자열을 붙여넣기만 하면 됩니다)

여기에 이미지 설명 입력

우편 배달원 멀티파트 폼 데이터 콘텐츠 유형

[SHOW COLUMNS]에서 [Content Type]을 선택한 후 "application/json"의 content-type을 json text의 파라미터로 설정합니다.

여기에 이미지 설명 입력

다 된 수가 요.Content Type after. 내가.마마후 、 나나스나나스 발발다다다발발이이 、 은은람람람람 바길바 。

스텝은 다음과 같습니다.

  1. 우체부의 빨간색 표시 영역을 클릭합니다.
  2. 이제 녹색으로 표시된 옵션을 확인합니다(Content Type를 참조해 주세요.
  3. 이제 노란색으로 표시된 영역에서 검색 내용 유형을 변경합니다.

내 경우:

  1. invoice_id_ls에는 (key)가 되어 있습니다.jsondata.data.data.data.contract.
  2. documents를 포함합니다.filedata.data.data.data.contract.
  3. placed_amountnormal text스트링
  1. 머리글은 쓰지 마세요.
  2. json 데이터를 .json 파일에 넣습니다.
  3. 두 개의 파일을 모두 선택합니다.하나는 요청 파라미터 키용 .txt 파일이고 다른 하나는 요청 파라미터 키용 .json 파일입니다.

만약 누군가가 json 데이터를 폼-데이터 형식으로 보내고 싶다면, 이와 같은 변수를 선언하면 된다.

집배원:

보시는 바와 같이 설명 파라미터는 기본 json 형식이며, 그 결과 다음과 같습니다.

{ description: { spanish: 'hola', english: 'hello' } }

아래 그림과 같이 위에서 아래로 단계를 따르십시오.

집배원 이미지

세 번째 단계에서 아래 이미지와 같이 유형 선택 드롭다운을 찾을 수 있습니다.

우체부 드롭다운

폼데이터를 사용하여 멀티파트에서 파일 업로드 및 동일한 POST 요청에서 json 데이터(DTO 객체)를 전송해야 하는 경우

컨트롤러에서 JSON 개체를 문자열로 가져오고 이 행을 추가하여 직렬화를 해제합니다.

ContactDto contactDto  = new ObjectMapper().readValue(yourJSONString, ContactDto.class);

Body > binary > Select File (파일 선택)

여기에 이미지 설명 입력

필요한 경우:

본문 -> 폼 데이터

필드 이름을 배열로 추가

여기에 이미지 설명 입력

스프링 휴게실에서는 아래 코드를 사용합니다.

@PostMapping(value = Constant.API_INITIAL + "/uploadFile")
    public UploadFileResponse uploadFile(@RequestParam("file") MultipartFile file,String jsonFileVo) {
        FileUploadVo fileUploadVo = null;
        try {
            fileUploadVo = new ObjectMapper().readValue(jsonFileVo, FileUploadVo.class);
        } catch (Exception e) {
            e.printStackTrace();
        }

여기에 이미지 설명 입력

PUT을 「요청으로 해 주세요.POST하지만 ""를 추가합니다._method> =>PUTyour form-data파라미터를 지정합니다.

json 데이터와 함께 파일을 포함하는 mulitpart 데이터를 보내는 방법은 다음과 같습니다. 우체국 본문 탭에서 각 json 키 필드의 content-type을 다음과 같이 'application/json'으로 설정해야 합니다.

파일 하나와 정수 둘 다 통과해야 했어요.나는 이렇게 했다:

  1. 업로드할 파일 전달 필요: Sumit의 답변에 따라 수행했습니다.

    요청 유형: POST

    본문 -> 데이터

    KEY라는 제목 아래에 변수 이름('내 백엔드 코드의 파일')을 입력합니다.

    백엔드:

    file = request.files['file']

    '파일' 옆에 드롭다운 상자가 있어 '파일' 또는 '텍스트' 중에서 선택할 수 있습니다.'파일'을 선택하고 VALUE라는 제목 아래에 '파일 선택'이 나타납니다.이 버튼을 클릭하면 파일이 선택되는 창이 열립니다.

2. 정수를 전달해야 합니다.

이동처:

파라메스

KEY 아래에 변수 이름(예: id)을 입력하고 VALUE 아래에 변수 이름(예: 1)을 입력합니다.

백엔드:

id = request.args.get('id')

됐다!

Content-Type을 설정할 수 있는 각 폼 데이터 키에 대해 오른쪽에 Content-Type 열을 추가하기 위한 우체부 버튼이 있으며 컨트롤러 내부의 문자열에서 json을 구문 분석할 필요가 없습니다.

먼저 post in 메서드를 설정하고 링크 API를 채웁니다.

다음으로 [Body]-> [ Form - data ]-> [ Parameter Name ]를 선택합니다(코드에 따라 파일).

세션을 유지하기 위해 쿠키를 사용하는 경우 인터셉터를 사용하여 브라우저에서 우편 배달원으로 쿠키를 공유할 수 있습니다.

또한 파일을 업로드하려면 우편 배달원의 본문 탭 아래에 있는 양식 데이터 탭을 사용할 수 있습니다. 이 탭에서 키-값 형식으로 데이터를 제공하고 각 키에 대해 값 텍스트/파일 유형을 선택할 수 있습니다.파일을 업로드하는 옵션이 나타납니다.

ID와 파일을 하나의 오브젝트에 포함시키려면 요청 오브젝트를 메서드에 표준으로 추가한 후 Postman 내에서 Body를 폼 데이터로 설정하고 키 앞에 요청 오브젝트 이름(예: 요청)을 붙일 수 있습니다.SessionId 및 요청.파일.

우체부를 통해 파일을 업로드하고 입력 데이터를 전달하는 절차는 스크린샷과 함께 아래 블로그에서 매우 잘 설명되어 있습니다.이 블로그에서는 api 코드가 노드 js에 기재되어 있습니다.더 명확하게 하기 위해 한 번 살펴볼 수 있습니다.

https://jksnu.blogspot.com/2021/09/how-to-create-post-request-with.html

백엔드 부품에서

컨트롤러의 나머지 서비스에는 이러한 멀티파트 + JSON 요청을 처리하기 위해 @RequestPart와 MultipartFile이 혼재합니다.

@RequestMapping(value = "/executesampleservice", method = RequestMethod.POST,
consumes = {"multipart/form-data"})

@ResponseBody
public boolean yourEndpointMethod(
    @RequestPart("properties") @Valid ConnectionProperties properties,
    @RequestPart("file") @Valid @NotNull @NotBlank MultipartFile file) {
return projectService.executeSampleService(properties, file);
}

프런트 엔드:

formData = new FormData();

formData.append("file", document.forms[formName].file.files[0]);
formData.append('properties', new Blob([JSON.stringify({
            "name": "root",
            "password": "root"                    
        })], {
            type: "application/json"
        }));

이미지 참조(POSTMAN 요구):

파일 및 json에 대한 폼 데이터로 우체국 요청을 보려면 클릭하십시오.

우편배달부의 json 데이터와 함께 이미지를 전송하려면 다음 단계를 따라야 합니다.

  • 우체부에게 보낼 방법을 만드세요.
  • 본문 섹션으로 이동하여 폼 데이터를 클릭합니다.
  • 드롭다운 목록에서 필드 이름 선택 파일을 다음과 같이 제공합니다.
  • 다른 필드도 지정할 수 있습니다.
  • 이제 아래 그림과 같이 컨트롤러에 이미지 저장 코드를 쓰면 됩니다.

집배원: 여기에 이미지 설명 입력

컨트롤러:

public function sendImage(Request $request)
{
    $image=new ImgUpload;  
    if($request->hasfile('image'))  
    {  
        $file=$request->file('image');  
        $extension=$file->getClientOriginalExtension();  
        $filename=time().'.'.$extension;  
        $file->move('public/upload/userimg/',$filename);  
        $image->image=$filename;  
    }  
    else  
    {  
        return $request;  
        $image->image='';  
    }  
    $image->save();
    return response()->json(['response'=>['code'=>'200','message'=>'image uploaded successfull']]);
}

그게 너한테 도움이 되길 바라

언급URL : https://stackoverflow.com/questions/39037049/how-to-upload-a-file-and-json-data-in-postman

반응형