오늘 Part2.게시판 서비스 강의의 `API 설계` 부분을 학습하였다.
API 설계하는 내용은 구글 문서 스프레드시트로 작성하였다.
API 설계는 endpoints url과 http method와 기능을 문서화하는 것을 말한다. API를 설계하고 이것을 토대로 개발을 진행한다.
REST API 설계 원칙
- URI는 정보의 리소스를 표현해야 한다. 리소스 명은 동사보다는 명사
- 리소스에 대한 행위는 HTTP Method로 표현한다. GET, POST, PUT, DELETE 등
- 슬래시 구분자(/)는 계층 관계를 나타내는데 사용한다.
- URI 마지막 문자로 슬래시(/)를 포함하지 않는다.
- 하이픈(-)은 URI 가독성을 높이는데 사용할 수 있다.
- 언더바(_)는 URI에 사용하지 않는다. 대신 하이픈(-)을 사용한다.
- URI 경로에는 소문자를 사용한다.
- 파일 확장자는 URI에 포함시키지 않는다. 대신 Accept header을 사용한다.
게시판 서비스 API 설계에 들어가는 내용은 종류, url, method, 기능, 설명이다.
뷰와 API와 구분하여 작성하였다. method는 GET, POST, PUT, PATCH, DELETE가 있다.
PUT과 PATCH의 차이점
HTTP Method 중에 PUT과 PATCH는 리소스를 업데이트 한다는 점에서는 같은 역할을 하는 메소드 처럼 보이지만 두 개의 요청에는 약간의 차이가 있다. PUT은 리소스의 모든 것을 업데이트 하고 PATCH는 리소스의 일부를 업데이트 한다.
게시판 서비스 API 설계 내용
<뷰>
루트 페이지
에러 페이지
로그인 페이지
회원 가입 페이지
게시판 페이지
게시글 페이지
게시판 검색 전용 페이지
게시글 해시태그 검색 전용 페이지
<API>
회원가입
로그인 요청
게시글 리스트 조회
게시글 단일 조회
게시글 추가
게시글 수정
게시글 삭제
댓글 리스트 조회
댓글 단일 조회
게시글 연관된 댓글 리스트 조회
게시글에 연관된 단일 조회
댓글 등록
댓글 수정
댓글 삭제