REST API: HTTP 메서드(PUT, DELETE, POST, GET)의 중요성
RESTful API 영역에서는 질문이 생깁니다. PUT, DELETE, POST 및 GET과 같은 여러 HTTP 요청 유형을 활용하는 이유는 무엇입니까? REST의 목적은 단순히 가장 쉬운 방법을 사용하여 데이터에 액세스하는 것 이상이라는 점을 이해하는 것이 중요합니다.
REST의 역할
"REpresentational State Transfer"(REST) 아키텍처는 데이터와 상호 작용하는 의미 있는 방법을 제공합니다. REST 요청이 이루어지면 수행할 의도된 작업을 즉시 전달해야 합니다.
예: GET 요청
다음 REST 엔드포인트를 고려하세요.
GET: /cars/make/chevrolet
이 엔드포인트는 Chevrolet 자동차 목록을 반환할 가능성이 높습니다. GET 요청을 사용하여 사용자는 데이터를 수정하는 대신 데이터를 검색하고 싶다고 명시적으로 지정합니다.
POST 요청: 데이터 생성
새 데이터를 생성하려면, 일반적으로 POST 요청이 사용됩니다. 예:
POST: /cars/ { make:chevrolet, model:malibu, colors:[red, green, blue, grey] }
이 POST 요청은 지정된 색상으로 새로운 Chevrolet Malibu를 생성하기 위한 데이터를 보냅니다. API는 반드시 기본 데이터베이스 구조에 연결되어 있지는 않지만 대신 실제 데이터를 보호하기 위한 마스킹 인터페이스를 제공합니다.
멱등성 및 HTTP 메서드
GET와 같은 HTTP 메서드 , PUT 및 DELETE는 멱등성 원칙을 따릅니다. 이는 이러한 메서드를 반복적으로 호출하면 동일한 서버 상태가 발생해야 함을 의미합니다. 반면에 POST는 다른 서버 상태로 이어질 수 있으므로 일반적으로 비멱등성으로 간주됩니다.
멱등성 구현
POST 요청에서 멱등성을 보장하려면 다음을 수행하세요. 다음 패턴 사용을 고려해보세요:
POST: /cars/oldest?action=delete
이것은 엔드포인트는 수행할 작업(삭제)을 명시적으로 정의하여 멱등성을 갖습니다. 대조적으로, 다음과 같은 요청은 다음과 같습니다:
Delete: /cars/oldest
잠재적으로 모호하고 멱등성이 아닐 수 있습니다.
결론적으로, 특정 HTTP 메소드의 사용은 REST API는 임의적이지 않습니다. 이는 의도한 작업(생성, 읽기, 업데이트, 삭제)을 전달하고 시스템의 멱등성을 보장하는 역할을 합니다. 이러한 규칙을 준수함으로써 REST API는 데이터 조작 및 상호 작용에 대한 의미 있고 구조화된 접근 방식을 제공합니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3