목차
1. 학습 목표 🎯
- RESTful한 설계 방식에 대한 이해
- Server to Server 통신에 대한 이해
- 템플릿 구조에 대한 이해와 실습!
2. 7주차 수업 후기 ✏
<aside> 📌 6주차 ****수업을 듣고 느낀 점과 각자의 과제 진행 상황을 서로 이야기해주세요!
이곳에 강의 내용을 정리해도 좋습니다 👍
</aside>
! 주의사항 !
- 과제 피드백 기반 진행입니다!
- 한 명씩 본인의 과제를 발표하고, 서로의 과제에 대하여 피드백을 하는 것이 기반이 되어야 합니다!
- 워크북에서 제공되는 키워드 혹은 강의에서 들은 디테일적인 부분에 대해서 토의를 진행해주세요!
- 스터디 시간에 각자가 키워드를 맡아 공부해온 것을 발표
- 나머지 스터디원들이 해당 발표에서 추가적인 내용들을 첨언하는 방식으로 스터디를 진행하셔도 좋습니다!
- 스터디 전에 키워드에 대한 공부들을 진행하여 노션에 정리하신 후,
3. 실습 💻
- 프록시 서버 설정
- 서버 무중단 배포
- 지난 주 과제때 설계/구현한 API에 RESTful원칙을 적용하고 템플릿을 사용해서 구현하기
- API 추가 구현하기
- HTTP Method를 모두 사용해보기
- Path Variable, Query String, Body를 모두 사용해보기
- 형식적/논리적 Validation 추가하기
- API Sheet 작성
4. 개념 키워드 🔑
📌 이번 주차 세미나에서 중요하게 다룬 키워드들입니다. 키워드에 대해 조사해본 후 해당 키워드에 토글 안에 자유롭게 정리해주세요!
- REST / RESTful
- HTTP 메소드의 용도
- GET : 리소스 조회
- POST : 요청 데이터 처리, 주로 데이터 등록에 사용
- PATCH : 리소스를 일부만 변경
- PUT : 리소스를 대체, 해당 리소스가 없으면 생성
- DELETE : 리소스 삭제
- Restful한 설계 방법이란?
- Restful 특징
- URI는 정보의 자원을 표현해야 한다. (동사가 아닌 명사 사용, 복수 명사를 사)
- 자원에 대한 행위는 HTTP Method로 표현
- 회원 가입 API : POST /users
- 유저 조회 API : GET /users/:id
- Restful 특징
- HTTP 우수성에 비해 제대로 사용되어지지 못하는 모습에 안타까워하며 웹의 장점을 최대한 활용할 수 있는 아키텍처로써 REST를 발표했다.
- HTTP 메소드의 용도
- Path Variable
/users/1
- 경로를 변수로서 사용하는 것
- Query Parameter
/post?post_id=6
- 경로 뒤에 입력 데이터를 함께 제공하는 식으로 사용한다.
- Path Variable과 Query Parameter는 각각 언제 사용하는가?
- Path Valriable 은 resource를 식별해야하는 상황에서 사용.
- ex) resource를 식별해야하는 상황에서 resource를 id로 쿼리를 날리게 되면 존재하지 않는 resource의 id가 들어올 경우 Path Variable은 바로 에러페이지 하지만 Query Parameter는 서버로 데이터가 넘어가고 쿼리를 날리며 해당하는 데이터가 없을 경우 따로 에러 핸들링을 해줘야 한다.
- Query Parameter는 정렬이나 필터링을 해야 할 때 사용한다.
- 참고
- Domain
- 템플릿 폴더 구조
5. 논의해보면 좋은 것들 💡
📢 논의해보면 좋은 것들 작성법 스터디 시간 전까지 미리 조사해서 정리해주세요! 부가적으로 워크북에서 제공되는 키워드 혹은 강의에서 들은 디테일적인 부분에서 더 토의해봐도 좋을 것 같습니다.
- 코드 컨벤션 (Code Convention)
- 빌드 관리 도구 Maven과 Gradle의 차이
- TDD란 무엇인가?
- Restful api 설계 가이드REST API(RESTful API, 레스트풀 API)란 - 서버, 구현, 사용법
- 개발 초보를 위한 RESTful API 설계 가이드
- x-access-token
- API를 Restful하게 작성해야 하는 이유는 무엇일까?
- 생산성이 높은 개발을 하기 위해서는?
- 해당 토글은 Spring 트랙에만 해당됩니다!
- application.ymlautoReconnect=true 옵션 사용 시 발생할 수 있는 오류와 해결 방법에는 무엇이 있을까?
- [DB] MySQL - autoReconnect=true
- url=jdbc:mysql://localhost:3306/test**?autoReconnect=true**
'UMC-3rd Server 기록' 카테고리의 다른 글
Server 9주차 워크북 (0) | 2022.12.14 |
---|---|
Server 8주차 워크북 (1) | 2022.12.14 |
Server 6주차 워크북 (0) | 2022.12.14 |
Server 5주차 워크북(Best) (0) | 2022.12.14 |
Server 4주차 워크북 (0) | 2022.12.14 |