복붙노트

[SPRING] JSON 컨텐츠 + 다중 multipart 파일을 사용한 Spring MVC rest 서비스

SPRING

JSON 컨텐츠 + 다중 multipart 파일을 사용한 Spring MVC rest 서비스

JSON 컨텐츠 및 다중 mutipart 파일로 입력해야하는 스프링리스 서비스가 필요합니다.

해결법

  1. ==============================

    1.아래는 봄 MVC 컨트롤러에서 JSON 콘텐트와 다중 멀티 파트를 다루기 위해 내가 따라온 접근법입니다

    아래는 봄 MVC 컨트롤러에서 JSON 콘텐트와 다중 멀티 파트를 다루기 위해 내가 따라온 접근법입니다

    백엔드 구현 :

    @RequestMapping(value = "/upload", method = RequestMethod.POST, consumes =    {"multipart/form-data"})
    public
    @ResponseBody
    List<String> handleFileUpload(MultipartHttpServletRequest multipartHttpServletRequest) {
    InputStream jsonSteam = multipartHttpServletRequest.getFile("json").getInputStream();
    InputStream fileStream1 = multipartHttpServletRequest.getFile("file1").getInputStream();
    InputStream fileStream2 = multipartHttpServletRequest.getFile("file2").getInputStream();
    }
    

    전면 구현 :

    요청 페이로드 :

    ------WebKitFormBoundaryhKn3wrSAw57pRAso
    Content-Disposition: form-data; name="file1"; filename="deleme_bkup.sql"
    Content-Type: text/x-sql
    
    
    ------WebKitFormBoundaryhKn3wrSAw57pRAso
    Content-Disposition: form-data; name="file2"; filename="source.sql"
    Content-Type: text/x-sql
    
    
    ------WebKitFormBoundaryhKn3wrSAw57pRAso
    Content-Disposition: form-data; name="json"; filename="blob"
    Content-Type: application/json
    
    
    ------WebKitFormBoundaryhKn3wrSAw57pRAso--
    Response Headersview source
    

    RequestHeaders :

    Accept:application/json, text/plain, */*
    Accept-Encoding:gzip,deflate,sdch
    Accept-Language:en-US,en;q=0.8
    Cache-Control:no-cache
    Connection:keep-alive
    Content-Length:5533
    Content-Type:multipart/form-data; boundary=----WebKitFormBoundaryhKn3wrSAw57pRAso
    Host:localhost:8080
    Origin:http://localhost:8080
    Pragma:no-cache
    
  2. from https://stackoverflow.com/questions/26398515/spring-mvc-rest-service-with-json-content-multiple-mutipart-files by cc-by-sa and MIT license