๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์›น๊ณต๋ทฐ/์Šคํ”„๋ง

[์Šคํ”„๋ง] ํŒŒ์ผ, json ๊ฐ์ฒด ํ•œ๊บผ๋ฒˆ์— ๋ฐ›๊ธฐ

by ์ด๋…ธํ‚ค_ 2022. 10. 31.

์ข…์ข… @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)

 

Common MIME types - HTTP | MDN

This topic lists most common MIME types, with corresponding document types, ordered by their common extensions.

developer.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());
	
    ...
}

 

๋Œ“๊ธ€