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 응답 본문 내에 들어감을 선언하는 것. |
'국비지원 공부 정리 > SpringBoot' 카테고리의 다른 글
Spring Boot의 기초 어노테이션 (1) | 2025.04.11 |
---|---|
스프링부트의 의존성 주입 (@Bean, @Configuration, @Component, @Autowired (0) | 2025.04.11 |
JAVA에 존재하는 객체 - DTO, VO, (0) | 2025.04.10 |
REST API (0) | 2025.04.10 |
Thymeleaf 란? (0) | 2025.04.10 |