TIL - 24 : RESTful API

TIL - 24 : RESTful API

RESTful API


  • API 시스템을 구현하기 위한 아키텍처 중에 가정 널리 사용되는 형식
    • GraphQL, SOAP, GRPC, REST 등
    • End point 아키텍처 시스템
  • Representational State Transfer
    • 웹상에서 사용되는 여러 리소스를 HTTP Method로 정의하는 방식
    • HTTP + Payload 를 구조적으로 깔끔하게 표현
  • 장점: self-descriptiveness 그 자체만으로도 API의 목적이 쉽게 이해 된다.

  • 단점: 표준규약이 없어 안티패턴으로 작성되는 경우가 흔하다.

  • 설계 규칙:
    • URI 정보를 명확하게 표현해야 한다.
    • resource에 대한 행위를 HTTP Method로 표현 한다.
    • URI에 동사가 포함되서는 안된다.
    • resource 사이에 연관 관계가 있는 경우
    • 파일의 경우 payload 의 포맷을 나타내기 위한 파일 확자아를 URI에 포함시키지 않는다.
    • URI는 / 구분자를 사용하여 자원의 계층 관계를 내보내지 않는다.
    • URI 마지막 문자로 /를 포함되지 않는다.
    • 불가피하게 URI가 길어지는 경우 -를 사용하여 가독성을 높인다.
    • 언더바 _ 는 사용하지 앟는다.
  • Path parameter
    • Filtering 방식
  • Query parameter
    • Ordering 방식
    • Searching -> GET /users?search=홍길동
  • 상태 코드
    • 200 ~ 204 : Success
    • 400 ~ 405 : Failure
    • 500

© 2022.02 by sunnyfterrain