새롭게 세션3가 시작됐다. 주로 실습으로 진행한다고 한다.
실습으로 진행하니 시간도 순식간에 지나가버렸다,
나는 주로 직접 코드를 쳐보는걸 좋아하는 입장에서 꽤나 좋은 방식이었다.
유닛1에선 스프링mvc방식에 대해 설명했다. 예습 해둔게 있어서 그런지 무난했다.
이번 세션도 화이또!!
Spring MVC 아키텍처
Spring MVC는 클라이언트의 요청을 편리하게 처리해주는 프레임워크.
애플리케이션의 가장 앞단에 배치되어 다른 구성요소들과 상호작용하면서 클라이언트의 요청을 처리한다
Controller
Spring Boot 기반의 애플리케이션에서 주로 사용되는 Java 패키지 구조
@RestController - 해당 클래스가 REST API의 리소스(자원, Resource)를 처리하기 위한 API 엔드포인트로 동작함을 정의
@RequestMapping - 클라이언트의 요청과 클라이언트 요청을 처리하는 핸들러 메서드(Handler Method)를 매핑해주는 역할
@GetMapping - 클라이언트가 서버에 리소스를 조회할 때 사용
@PostMapping - 클라이언트의 요청 데이터(request body)를 서버에 생성할 때 사용
@PathVariable - 클라이언트 요청 URI에 패턴 형식으로 지정된 변수의 값을 파라미터로 전달받을 수 있다.
@RequestParam - 쿼리 파라미터(Query Parmeter 또는 Query string), 폼 데이터(form-data), x-www-form-urlencoded 형식의 데이터를 파라미터로 전달 받을 수 있다.
@RequestHeader - 개별 헤더 정보 및 전체 헤더 정보를 얻을 수 있다.
Rest Client - Rest API 서버에 HTTP 요청을 보낼 수 있는 클라이언트 툴 또는 라이브러리를 의미
DTO(Data Transfer Object)
주로 클라이언트에서 서버 쪽으로 전송하는 요청 데이터를 전달 받을 때, 서버에서 클라이언트 쪽으로 전송하는 응답 데이터를 전송하기 위한 용도로 사용
클라이언트 쪽에서 JSON 형식의 데이터를 서버 쪽으로 전송하면 서버 쪽의 웹 애플리케이션은 전달 받은 JSON 형식의 데이터를 DTO 같은 Java의 객체로 변환하는데 이를 역직렬화 라고 한다.
서버 쪽에서 클라이언트에게 응답 데이터를 전송하기 위해서 DTO 같은 Java의 객체를 JSON 형식으로 변환하는 것을 직렬화라고 한다.