230327 REST API

허크·2023년 3월 27일
0

REST API

HTTP 프로토콜을 기반으로 자원을 고유한 URI로 식별하고 데이터를 작업을 수행하는 인터페이스를 제공하는 것입니다.

REST 성숙도 모델

Ad hoc > Resources > HTTP Verbs > HATEOAS

0단계 : Ad hoc

  • HTTP를 단순히 전송 수단으로만 사용하는 수준
  • RESTful 원칙을 전혀 따르지 않음

1단계 : Resources

  • 각 리소스에 대해 고유한 URI를 부여하고 해당 URI로 리소스에 접근

  • 엔드포인트

    • REST API에서 클라이언트가 서버에서 제공하는 자원(resource)에 접근하기 위한 URL 주소

    • 어떤 자원에 대한 요청인지를 나타내는 명사 형태의 단어를 사용

      ex) /get-user-info보다는 /users와 같은 엔드포인트를 사용

2단계 : HTTP Verbs

  • CRUD에 맞게 HTTP 메소드 사용

    ex) GET, POST, PUT, DELETE 등

  • POST vs PUT

    • 가장 큰 차이점은 멱등성(idempotence)
    • 리소스를 생성할 때는 POST, 리소스를 업데이트할 때는 PUT
  • PUT vs PATCH

    • PUT은 전체 리소스를 한번에 업데이트(교체), PATCH는 리소스의 일부분만 변경

3단계 : HATEOAS

  • 하이퍼미디어가 어플리케이션의 상태를 구성하는 엔진 역할을 한다

정리

  • 리소스 중심의 올바른 엔드포인트 작성, 적절한 응답 코드와 리소스에 대한 정보 기재, CRUD에 적합한 HTTP 메서드 사용 등
profile
codestates seb 44th // 다크모드로 보는걸 추천드립니다

0개의 댓글