>이전글 읽기
2022.02.21 - [:: System Log] - 스프링 입문 강의 노트 #6. 웹 개발 기초 - MVC와 템플릿 엔진
스프링 입문 강의 노트 #6. 웹 개발 기초 - MVC와 템플릿 엔진
> 이전글 읽기 : 2022.02.16 - [:: System Log] - 스프링 입문 강의 노트 #5. 웹 개발 기초 - 정적 컨텐츠 이전글 읽기 : 2022.02.16 - [:: System Log] - 스프링 입문 강의 노트 #4. 빌드하고 실행하기 이전글 보..
everythingiok.tistory.com
API 방식
정적컨텐츠 이외의 동적컨텐츠는 두가지 방식이 있다.
뷰리졸버를 사용해서 html로 내리느냐, api방식이라는 걸로 데이터를 바로 내리느냐
@ResponseBody 문자반환
- HelloController.java에 helloString 메소드 추가
@GetMapping("hello-string")
@ResponseBody
public String helloString(@RequestParam("name") String name) {
return "hello "+name;
}
[수행결과]


-@ResponseBody를 사용하면 뷰 리졸버(viewResolver)를 사용하지 않음
-대신에 HTTP의 BODY에 문자 내용을 직접 반환하는 형태(HTML, BODY TAG를 말하는 것이 아님)
@ResponseBody 객체반환
- HelloController.java 에 helloApi 메소드 추가
@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 inputName) {
this.name = inputName;
}
}
[수행결과]
- Hello 객체를 JSON 형식으로 그대로 반환
@ResponseBody 작동원리
@ResponseBody를 사용
- HTTP의 BODY에 문자 내용을 직접 반환
- viewResolver 대신에 HttpMessageConverter 가 동작
- 기본 문자처리 : StringMessageConverter
- 기본 객체처리 : MappingJackson2HttpMessageConverter
- byte 처리 등등 기타 여러 HttpMessageConverter가 기본으로 등록되어 있음
*Cmd+N : [Generate] 메뉴를 통해 getter와 setter를 손쉽게 만들수 있다
*참고 : 클라이언트의 HTTP Accept 헤더와 서버의 컨트롤러 반환 타입 정보 둘을 조합해서 HttpMessageConverter가 선택된다
> 다음글 읽기 :
2022.02.22 - [:: System Log] - 스프링 입문 강의 노트 #8. 백엔드 개발 - 비즈니스 요구사항 정리
스프링 입문 강의 노트 #8. 백엔드 개발 - 비즈니스 요구사항 정리
> 이전 글 읽기 : 2022.02.21 - [:: System Log] - 스프링 입문 강의 노트 #7. 웹 개발 기초 - API 이전글 읽기 2022.02.21 - [:: System Log] - 스프링 입문 강의 노트 #6. 웹 개발 기초 - MVC와 템플릿 엔진 이..
everythingiok.tistory.com
':: System Log' 카테고리의 다른 글
스프링 입문 강의 노트 #9. 백엔드 개발 - 회원 도메인과 리포지토리 만들기 (0) | 2022.02.23 |
---|---|
스프링 입문 강의 노트 #8. 백엔드 개발 - 비즈니스 요구사항 정리 (0) | 2022.02.22 |
스프링 입문 강의 노트 #6. 웹 개발 기초 - MVC와 템플릿 엔진 (0) | 2022.02.21 |
스프링 입문 강의 노트 #5. 웹 개발 기초 - 정적 컨텐츠 (0) | 2022.02.16 |
스프링 입문 강의 노트 #4. 빌드하고 실행하기 (1) | 2022.02.16 |