국비지원 공부 정리/SpringBoot

Spring Boot를 이용해 데이터 주고받기

worldstroy 2025. 4. 10. 12:16

MIME Type( Multipurpose Internet Main Extensions)

인터넷에서 파일의 형식을 나타내는 표준
이메일에 첨부된 파일의 형식을 나타내기 위해 처음 개발되었으나 현재는 웹에서 광범위하 게 사용됨

 

 

MIME Type의 종류

text/plain, text/html
image/jpeg, image/png
audio/mpeg
video/mp4
application/pdf, application/vnd.ms-excel, application/json, application/zip

 

 

HTTP Content-Type

 

• 요청 바디에 들어가는 타입을 요청 헤더의 Content-Type 에서 명시
• Content-Type 는 HTTP 통신에서 MIME Type 값을 전달하는 헤더

 

 

Content-Type의 종류

용어 의미
application/x-www-form-urlencoded 주로 HTML 폼 데이터를 서버로 전송할 때 사용 (일반 폼 전송)
• 키와 값 쌍으로 이루어진 데이터를 URL 인코딩 방식으로 변환
• ex. 공백은 "+"로, 특수 문자는 퍼센트 인코딩(%xx)으로 변환
application/json JavaScript 라이브러리(예: axios, Fetch API)를 사용하여 클라이언트 측에서 비동기적으로 데이터를 서버로 전송할 때 주로 사용 (동적 폼 전송)
• 사용자가 웹 페이지에서 폼을 작성하고, JavaScript 코드가 이 데이터를 JSON 형식으로 서버
multipart/form-data 파일 업로드를 포함한 복잡한 폼 데이터 전송에 사용

Spring Boot에서의 데이터 전송

  태그 종류 의미
컨트롤러 설정 @Controller • 해당 클래스가 Spring MVC 컨트롤러임을 나타냄
• 주로 뷰를 반환하는 웹 요청을 처리
Get 방식 @GetMapping(url) 해당 Controller 내 Mapping이 어떤 방식인지 알려줌
POST Method @PostMapping(url)
Delete Method @DeleteMapping(url)
Put @PutMapping
Update Method @Update Method
값 전달 용 어노테이션 @RequestParam(vaule="넘겨받은 변수명") ?key=value 값을 넘겨 받을 때 사용하는 파라미너 어노테이션
메서드의 매개변수 key에 query string의 value 값이 전달됨
단, required-false 옵션을 사용하면 해당 값이 없더라도, Get 요청을 정상 실행할 수 있음
@PathVariable url주소/{value}로 데이터를 넘겨 받았을 때, URL  path variable 값을 변수에 전달해줌
url주소/{value}/{value} 로 url을 설정했을 때 정상적으로 원하는 메개변수를 받으려면 뒤에오는 값은 정확히 인식할 수 있도록 어노테이션 내 변수명을 무조건 기입해야 함.
@RequestBody 요청 받은 값을 하나의 Json으로 묶어서 넘겨 받음
node js에서의 req.body와 동일한 역할을 담당함
@ModelAttribute • HTTP 요청 파라미터를 객체에 바인딩
• 주로 폼 데이터를 객체로 변환할 때 사용
• setter 메서드를 통해 값을 설정
데이터만 전달키 위한 설정 @ResponseBody 그 내부의 메서드가 데이터만 전달할 수 있도록 허가하는 것으로, node js의 res.send와 동일함
@RestController 해당 컨트롤러 내의 파일의 반환 값은 HTTP 응답 본문 내에 들어감을 선언하는 것.