1. 용도에 맞게 HTTP 메서드 사용하기
- GET : 조회
- /product : 상품 목록을 조회한다.(가져온다.)
- /product/123 : 상품들중 인덱스가 123인 상품 정보를 조회한다.
- POST: 생성, 기타행동 ( GET, PUT, PATCH, DELETE 로 표현하기 어려운 행동)
- /products : 상품정보를 등록한다.
- PUT, PATCH : 수정
- /products /123 : 상품들 중 인덱스가 123인 상품 정보를 수정한다.
- DELETE : 삭제
- /products/123 : 상품들 중 인덱스가 123인 상품 정보를 삭제한다.
2. Resource(리소스: 명사들이 모여서 만들어진 자원) 간의 계층관계는 슬래시 ( / )를 이용하기
[GET] /posts/123/comments // PK가 123인 게시글의 댓글의 목록을 불러온다.
- 계층관계는 일반적으로 동사 대신에 명사를 사용
- 복수명사 사용 -> 리소스는 (여기에선) 명사들이 모여서사용되어질수 있는 어떤 자원(항목)
- 하이픈(-)사용 ->URL은 하이퍼 링크가 걸리면밑줄(_)이 그어지는 경우가 많다
- 소문자로 작성 -> 일관성과 가독성
3. HTTP Method 별 Request Body 사용 여부
GET, DELETE 의 HTTP 메서드는 보통 Request Body에 데이터를 담지 않는다. 대부분의 웹 서버및 프레임워크에서도 Request Boby를 무시하고 요청하는 경우가 많다. 따라서 GET, DELETE의 HTTP 메서드를 사용할 때는 Query Parameter 나 Path Parameter를 활용하자.
4. Path , Query Parameter 사용 시기
▶ Path parameter
- 어떤 리소스를 식별하고 싶거나
- 다수의 리소스중 특정 리소스를 가르키는 경우 사용
- /users/12 [GET] : // 모든 사용자 중 PK가 12인 사용자를 가져온다.
▶ Query Patameter :
- 필터링 GET
- /car?size = middle (빨간색 자동차 목록을 반환)
- 정렬 GET
- /users?sort=name&order=asc (사용자 목록을 name을 기준으로 오름차순으로 정렬해서 조회)
- 검색 GET
- /movies/search?query=john (john이라는 키워드가 들어간 영화 목록을 조회
- 페이지네이션 GET
- /posts?page=1&size=5 ( 1페이지에서 5개의 게시물 목록을 조회
'프로그래밍 > Node.js' 카테고리의 다른 글
[Sequelize] ORM for SQL : 설치 및 DB연결 (0) | 2023.08.07 |
---|---|
REST API 설계하여 요청 및 응답하기 : body-parser 이용 (0) | 2023.07.29 |
응답방법/요청 데이터 사용법 (0) | 2023.07.25 |
Express Routing(라우팅) (0) | 2023.07.25 |
HTTP response status codes(상태코드) (0) | 2023.07.24 |