반응형
정적 컨텐츠
정적 컨텐츠
- 'welcome page'처럼 server에서 하는 것 없이 파일 그대로 'web browser'에 내려주는 것
MVC와 템플릿 엔진
MVC
- Model, View, Controller
- 템플릿엔진(jsp, php) html을 그냥 주는 것이 아니라 서버에서 프로그래밍해서 동적으로 바꿔서 내려주는 것
View
- 화면을 그리는데 모든 역량을 집중
Model, Controller
- business logic과 관련, 내부적인 것을 처리하는 것에 집중
API
API
- JSON 데이터 구조 포맷으로 클라이언트에게 전달하는 것
- 서버끼리 통신할 때도 API로 소통
package hello.hellospring.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public 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 사용 원리
- HTTP의 BODY에 문자 내용을 직접 반환
- 'viewResolver' 대신에 'HttpMessageConverter'가 작동
- 기본 문자처리: 'StringHttpMessageConverter'
- 기본 객체처리: 'MappingJackson2HttpMessageConverter'
- byte 처리 등등 기타 여러 HttpMessageConverter가 기본으로 등록되어 있음
본 내용은 inflearn의 '스프링 입문' 강의를
참고하여 작성한 내용입니다.
반응형
'Back-end > Spring' 카테고리의 다른 글
[스프링 입문] 07. AOP (0) | 2021.03.19 |
---|---|
[스프링 입문] 06. 스프링 DB 접근 기술 (0) | 2021.03.19 |
[스프링 입문] 05. 회원 관리 예제 - 웹 MVC 개발 (0) | 2021.03.18 |
[스프링 입문] 04. 스프링 빈과 의존 관계 (0) | 2021.03.18 |
[스프링 입문] 03. 회원 관리 예제 - 백엔드 개발 (0) | 2021.03.17 |