REST API: 개념

REST는 "Representational State Transfer"를 나타냅니다. 이것은 건축 양식입니다. 이 스타일을 따르는 웹 API가 REST API입니다.

REST는 6가지 기본 원칙을 기반으로 하며 그 중 중요한 것은 다음과 같습니다.
  • 클라이언트-서버: 백엔드와 프런트엔드를 분리합니다.
  • 상태 비저장: 각 http 요청에는 이전 요청이 무엇인지 몰라도 이해할 수 있는 충분한 데이터(예: 인증, 세션, 사용자 데이터)가 포함되어 있습니다.
  • 캐시 가능
  • GET: 항상
  • POST: http 헤더 사용 expire , cache-control , etag , last-modified
  • PUT, DELETE: 안함


  • 개념



    다음은 훌륭한 백엔드 개발자가 숙지해야 하는 몇 가지 중요하고 간결하며 단순화된 REST 개념입니다.

    자원



    REST API는 리소스 계층 구조로 모델링됩니다. 여기서 각 노드는 컬렉션이거나 단일 리소스입니다. 단일 리소스에는 일부 상태 또는 하위 리소스가 있습니다.

    상태 저장 리소스의 예는 다음과 같습니다. 여기서 사용자 리소스에는 데이터/상태가 있습니다.

    POST /users/:id
    
    {
      id: 4e7d418a70f,
      name: 'muhammad',
      country: 'earth',
      verified: true
    }
    


    하위 리소스가 있는 리소스의 예는 다음과 같습니다. 여기서 사용자는 각각 리소스인 여러 프로젝트를 가지고 있습니다.

    GET /users/:id/projects
    content-type: application/json
    
    [
      {
        id: 'postman cli',
        desc: 'postman implemented in command-line'
        url: 'github.com/midnqp/postman-cli'
      },
      {
        id: 'typescript',
        desc: 'typescript is a superset of javascript',
        url: 'github.com/microsoft/typescript'
      }
    ]
    


    멱등성



    API Idempotency는 "클라이언트가 부작용 없이 동일한 응답을 반환하면서 여러 번 요청을 할 수 있음"을 의미합니다.

    다음 요청을 여러 번 수행하면 동일한 결과가 생성되고 추가 부작용이 없으므로 "멱등성"API입니다.
  • GET /users/:id - 동일한 사용자 데이터만 검색함
  • PUT /users - 동일한 json 데이터만 업데이트함
  • DELETE /users/:id - 동일한 사용자만 삭제

  • 멱등성이 아닌 API:
  • POST /users/:id - 이 요청이 있을 때마다 새 사용자가 생성되기 때문에
  • 좋은 웹페이지 즐겨찾기