์ข ์ข @RestController ๋จ์์ ํ์ผ๊ณผ json ๊ฐ์ฒด๋ฅผ ๋์์ ๋ฐ์์ผํ ๊ฒฝ์ฐ๊ฐ ์๋ค.
1. postman ์ค์
(1) request-> body์ ํ์ ์ form-data๋ก ๋ณ๊ฒฝ
(2) ๋ฐ์ด๋๋ฆฌ ํ์ผ์ ๋ณด๋ผ key๊ฐ์ File ํ์ ์ผ๋ก ๋ณ๊ฒฝ
(3) json ํ์ ์ผ๋ก ๋ณด๋ผ key๊ฐ์๋ json ๊ตฌ์กฐ ๊ทธ๋๋ก ๋ฌธ์์ด๋ก.
์๋ฅผ ๋ค์ด
{
"uid": "test",
"datasetName": "test1"
}
(4) Content Type์ ์ค์ ํ๋ค. ์๋ ๋งํฌ๋ฅผ ์ฐธ์กฐ
๋ง์ฝ Content Type์ด ๋ณด์ด์ง ์๋๋ค๋ฉด ์๋์ ... ๋ฒํผ์ ํด๋ฆญํ์ฌ ๋ณด์ด๊ฒ ํ์
Common MIME types - HTTP | MDN (mozilla.org)
2. ์คํ๋ง ์ชฝ ์ฝ๋ ์ค์
(1) consumes๋ฅผ ์์ฑํ์ฌ ์ด๋ค ํ๋ผ๋ฏธํฐ ํ์ ์ ๋ฐ๋์ง ๋ช ์ํ๋ค.
(2) ๋ฐ๋ ์ธ์ ํ์ ์ ๋๋ค @RequestPart๋ก ํ๊ณ ๋ณ์๋ช ์ Postman์์ ์ ์กํ๋ key๊ฐ๊ณผ ๋์ผํ๊ฒ ํ๋ค.
(3) @RequestPart UserUploadMeta๋ก ๋ ๋ถ๋ถ์ json์ผ๋ก ๋ฐ๋ ๊ฐ์ฒด๊ฐ ๋งคํ์ด ๋ ๊ฐ์ฒด์ด๋ค. ๋ฐ๋ผ์ UserUploadMeta ํด๋์ค๋ ๋ฏธ๋ฆฌ ์ ์๋์ด์์ด์ผํ๋ค.
@PostMapping(value = "/upload", consumes = {MediaType.APPLICATION_JSON_VALUE, MediaType.MULTIPART_FORM_DATA_VALUE})
public void upload(@RequestPart UserUploadMeta meta,
@RequestPart List<MultipartFile> mfs,
HttpServletRequest request) throws IllegalStateException, IOException {
System.out.println(String.format("%s %s" , meta.getUid(), meta.getDatasetName()));
System.out.println(meta.getUploadTime().toString());
...
}
๋๊ธ