spring mvc 구조에서 데이터와 파일을 같이 받는 방법 (feat. curl)
개발/스프링 2024. 4. 5. 19:34 |사전 조건: curl 명령어로 전송
curl -s -X POST -F "json={"key":"value"}" -F "file=@/var/temp/20240320144142208137262.zip" http://192.168.0.1/controller/1
@Controller
@RequestMapping(value = "/controller")
public class Controller extends InterfaceController {
@SuppressWarnings({ "unchecked" })
@RequestMapping(value = "/sample", method = RequestMethod.POST)
public ResponseEntity<String> sample(MultipartHttpServletRequest request) {
ResponseEntity<String> retRE = new ResponseEntity<String>();
JSONObject jso = null;
Iterator<String> fileNames = null;
String fileName = null;
MultipartFile file = null;
String srcOrgFileName = "";
// JSON 데이터 추출
jso = (JSONObject) parser.parse(request.getParameter("json"));
try {
// 멀티파트 요청에서 파일 추출
fileNames = request.getFileNames();
if(fileNames.hasNext()) {
fileName = fileNames.next();
file = request.getFile(fileName);
srcOrgFileName = file.getOriginalFilename();
// 파일 업로드 로직 구현
// ...
}
} catch(Exception e) {
}
return retRE;
}
}