- 스프링 웹 개발 기초 -
1 ) 정적 컨텐츠
resources / staticdp hello-static.html을 만들면, localhost:8080/hello-static.html을 접근할 수 있다.
클라이언트가 요청시, 1순위로 Controller에 hello-static.html 관련 메소드가 있는지 찾고,
1순위에 없을시 2순위로 resources : static / hello-static.html을 찾는다.
2 ) MVC와 템플릿 엔진
@RequestParam의 required는 true가 default이기 때문에 설정을 안 했다면 값이 있어야 한다.
hello-mvc @GetMapping("hello-mvc")를 만들고 localhost:8080/hello-mvc?name=spring으로 요청을 보내면 아래의 사진과 같은 프로세스로 작동한다.
3 ) API
API : 운영체제와 응용프로그램 사이의 통신에 사용되는 언어나 메시지 형식이다.
정적컨텐츠를 제외한 웹 개발 방식은 MVC와 템플릿 엔진과 API 2가지이다.
템플릿엔진을 사용하면 데이터를 ViewResolover를 통해 HTML로 내려주지만,
API를 사용하면 HttpMessageConverter가 작동하여 String, JSON 등의 형식으로 데이터만 http body에 담아 내려주게 된다.
http://localhost:8080/hello-api?name=spring!!
JSON(JavaAcript Object Notation)
속성-값 쌍 (attribute-value pairs and array data types (or any other serializable value) )또는 " 키-값 쌍 "으로 이루어진 데이터 오브젝트를 전달하기 위해 인간이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷이다.
객체(Objcet)를 API방식으로 return할 때 JSON으로 리턴하고, 기본적으로 MappingJackson2HttpMessageConverter가 작동한다.
JSON형식으로 만들어주는 라이브러리가 있는데 그 중 하나가 Jackson이고 구글사의 GSON이 있다.
Spring은 내부적으로 Jackson 라이브러리를 default로 채택하고 있다.
데이터를 XML등으로 return 받고 싶으면 Http Accept 헤더와 서버의 컨트롤러 반환타입정보를 조합해서 HttpMessageConverter로 바꿀 수 있다.
출처 : 인프런 - 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 김영한
'SPRING > 스프링 입문 (김영한 강사님)' 카테고리의 다른 글
스프링 입문 정리 (6) - 스프링 DB 접근 기술 (0) | 2023.08.02 |
---|---|
스프링 입문 정리 (5) - 회원 관리 예제-웹 MVC 개발 (0) | 2023.07.14 |
스프링 입문 정리 (4) - 스프링 빈과 의존관계 (1) | 2023.07.10 |
스프링 입문 정리 (3) - 회원 관리 예제-백엔드 개발 (0) | 2023.07.10 |
스프링 입문 정리 (1) - 프로젝트 환경설정 (0) | 2023.06.05 |