반응형
이번 강의는
🚀 섹션 3. 스프링 웹 개발 기초 🚀
입니다~
1. 정적 컨텐츠
서버가 하는 일 X / 파일을 웹 브라우저(고객)에 그대로 내려줌
2. MVC와 템플릿 엔진
서버에서 html을 동적으로 변형.
3. API
json이라는 데이터 포맷으로 클라이언트에게 파일 내려줌
화면은 클라이언트가 알아서 구성
html이 필요없는 서버간 통신시 주로 사용
이렇게 간단히 정리해보았고 자세한 내용을 실습과 함께 시작해 봅시다 😮💨
1. 🛸 정적 컨텐츠
스프링 부트 자동제공 기능입니다.
아무 html 파일 작성해서 localhost로 파일 열면
그냥 작성한 파일 그대로 반환.
2. 🛸 MVC와 템플릿 엔진
MVC란? : Model, View, Controller
Controller : 내부적인 것 처리에 집중
@Controller
public class HelloController {
@GetMapping("hello-mvc")
public String helloMvc(@RequestParam("name") String name, Model model) {
model.addAttribute("name", name);
return "hello-template";
}
}
View : 화면 구성에 집중
<html xmlns:th="http://www.thymeleaf.org">
<body>
<p th:text="'hello ' + ${name}">hello! empty</p>
</body>
</html>
3. 🛸 A PI
@ResponseBody 문자변환
@Controller
public class HelloController {
@GetMapping("hello-string")
@ResponseBody
public String helloString(@RequestParam("name") String name) {
return "hello " + name;
}
}
@ResponseBody 사용하면 viewResolver 사용하지 않음
대신 Http의 body 에 문자 내용을 직접 반환
@ ResponseBody 객체 반환
@Controller
static class HelloController {
@GetMapping("hello-api")
@ResponseBody
public Hello helloApi(@RequestParam("name")String name) {
Hello hello = new Hello();
hello.setName(name);
return hello;
}
static class Hello {
private String name;
public String getName(){
return name;
}
public void setName(String name) {
this.name = name;
}
}
}
@ResponseBody를 사용하고 객체를 반환하면 객체가 json으로 변환
최근에 거의 json 방식으로 통일 되었다고 합니다.
json으로 반환하는 것이 기본.
@ResponseBody를 사용
- HTTP의 BODY에 문자 내용을 직접 반환
- viewResolver 대신에 HttpMessageConverter 가 동작
- 기본 문자 처리 : StringHttpMessageConverter
- 기본 객체 처리 : MappingJackson2HttpMessageConverter (Jackson : 객체 -> json 변환)
- byte 처리 등등 기타 여러 HttpMessageConverter가 기본으로 등록되어 있음.
🚀🛸 끝 🛸🚀
다음 주에 만나요 ~
반응형
'WINK-(Web & App) > Spring Boot 스터디' 카테고리의 다른 글
[2025 1학기 스프링 부트 스터디] 오세웅 #2주차 (0) | 2025.04.04 |
---|---|
[2025 1학기 스프링 부트 스터디] 이상래 #2주차 (0) | 2025.04.04 |
[2025 1학기 스프링부트 스터디] 이종윤 #1주차 (0) | 2025.04.03 |
[2025 1학기 스프링부트 스터디] 석준환 #2주차 (0) | 2025.04.01 |
[2025 1학기 스프링부트 스터디] 장민주 #2주차 (0) | 2025.04.01 |