Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- KPT회고
- 항해99
- 프로그래머스 이중우선순위큐
- 파이썬
- TiL
- 99클럽
- 1주일회고
- 디자인 패턴
- 전략패턴 #StrategyPattern #디자인패턴
- 빈 충돌
- 빈 조회 2개 이상
- 인프콘 2024
- 프로그래머스
- Python
- jwttoken
- @FeignClient
- 디자인패턴
- 취업리부트코스
- 구글 OAuth login
- spring batch 5.0
- 개발자부트캠프추천
- 단기개발자코스
- 커스텀 헤더
- jwt
- JavaScript
- Spring multimodule
- 코딩테스트 준비
- 개발자 취업
- infcon 2024
- DesignPattern
Archives
- Today
- Total
m1ndy5's coding blog
정적 컨텐츠 VS MVC와 템플릿엔진 VS API 본문
정적 컨텐츠
- 파일을 그대로 web browser에 전달해주는 것
- /resources/static에 html파일을 만들고 그대로 보여주는 것
- 파일명 그대로 url을 들어오면 됨 ex)주소/hello-static.html
- 프로그래밍할 수는 없음
- 처음에 컨트롤러로 들어왔을 때 매칭되는 컨트롤러가 없으면 resources/static에 들어가서 있는 html화면을 띄워줌.
MVC와 템플릿 엔진
- html을 그냥 주는 것이 아닌 서버에서 프로그래밍 하고 return
- MVC : Model, View, Controller
- parameter를 넘길 때 예시
//localhost:8080/hello-mvc?name=
@GetMapping("hell-mvc")
public String helloMvc(@RequestParam("name") String name, Model model){
model.addAttribute("name", name);
return "hello-template";
}
- /resources/templates에서 hello-template.html을 찾아서 연결
API
- JSON형식으로 데이터만 전달하는 것
- 서버끼리 통신할 때도 API 사용
@GetMapping("hello-string")
@ResponseBody //꼭 넣어주기!
public String helloString(@RequestParam("name") String name){
return "hello" + name;
}
객체 return (Json 형식)
@Getter
@Setter
static class Hello {
private String name;
}
@GetMapping("hello-api")
@ResponseBody
public Hello helloApi(@RequestParam("name") String name){
Hello hello = new Hello();
hello.setName(name);
return hello;
}
- {”name” : {parameter}} 형식으로 뜨게 됨.
- @ResponseBody 역할
- http 통신 프로토콜의 header와 body중 body에 내용을 직접 넣어주겠다라는 의미
- viewResolver 대신 HttpMessageConverter가 동작
- 기본 문자처리 : StringHttpMessageConverter
- 기본 객체처리 : MappingJackson2HttpMessageConverter
- byte 처리 등등 기타 여러 HttpMessageConverter가 기본으로 등록되어 있음
※ 클라이언트의 HTTP Accept 해더와 서버의 컨트롤러 반환 타입 정보 둘을 조합해서 HttpMessageConverter 가 선택됨 근데 거의 Json씀
'백엔드 with java > spring' 카테고리의 다른 글
Spring Security UserDetails, UserDetailsService (1) | 2023.10.11 |
---|---|
Jackson & Constructor (0) | 2023.07.11 |
View로 서버 잘 돌아가는지 확인하기 (0) | 2023.03.07 |
Spring Libraries (간단하게) (0) | 2023.03.07 |
Springboot 프로젝트 생성 (0) | 2023.03.07 |