REST API

정승옥(seungok)·2021년 3월 20일
0

세션 정리

목록 보기
4/5
post-thumbnail

1. REST

  • Representational State Transfer 란 웹에 존재하는 모든 자원에 대한 고유한 URI를 부여하여 자원에 대한 주소를 지정하는 방법론 또는 규칙이다.
  • API 시스템을 구현하기 아키텍처 중 가장 널리 사용되는 형식이다.

1-2. URI / HTTP / Payload

  • URI
    👉 Uniform Resource Identifier
    👉 해당 사이트의 특정 자원의 위치를 나타내는 주소이다.
    👉 ex) finance.naver.com/login
  • HTTP Method
    👉 HTTP request 가 의도하는 action을 정의하는 것이다.
  • Payload
    👉 HTTP request 에서 서버로 보내는 데이터를 말한다. (body)

1-3. 정의 및 장점

  • 웹상에서 사용되는 여러 리소스를 HTTP URI 로 표현하고 그 리소스에 대한 행위를 HTTP Method 로 정의하는 방식이다.
  • 리소스(HTTP URI로 정의된)를 어떻게 한다(HTTP Method + Payload)를 구조적으로 깔끔하게 표현한다.
  • Self-Descriptiveness
  • 그 자체만으로 명확하게 API 의 목적이 쉽게 이해가 된다.

2. REST API 규칙

  • URI 정보를 명확하게 표현하다.
    👉 resource명사로 표현한다.
    👉 ex) GET /user/1 -> GET /users/1
  • resource 에 대한 행위를 HTTP Method(GET, POST, DELETE) 로 표현한다.
    👉 URIHTTP Method 가 포함되면 안된다.
    👉 URI 에 동사가 포함되면 안된다.
    👉 ex) GET /user/show/1 -> GET /users/1
  • resource 사이에 연관 관계가 있는 경우
    👉 ex) GET /users/{user_id}/profile

2-1. 설계 규칙

  • URI/ 구분자를 사용하여 자원의 계층 관계를 나타내는데 사용한다.
  • URI 마지막 문자로 / 를 사용하지 않는다.
  • 불가피하게 URI 길어지는 경우 - 를 사용하여 가독성을 높인다.
  • _ 는 사용하지 않는다
  • URI 경로에는 대문자 사용을 피하도록 규정하고 있다.
  • 파일의 경우 payload 의 포맷을 나타내기 위한 파일 확장자를 URI에 포함하지 않는다.

3. 설계 예시

  • path parameter
  • query parameter
profile
Front-End Developer 😁

0개의 댓글