API (REST API, Open API)

흔한 감자·2022년 12월 2일
0

코드스테이츠

목록 보기
15/18

API

API(application programming interface)의 줄임말로 응용 프로그램에서 사용할 수 있도록, 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 의미한다.
위키백과 - API

REST API란?

REST는 “Representational State Transfer”의 약자로, 웹에서 사용되는 데이터나 자원(Resource)을 URI로 표현하고, HTTP 프로토콜을 통해 요청과 응답을 정의하는 방식을 말합니다.

리차드슨의 REST 성숙도 모델

작성 단계별 상세내용

  • 0단계: 단순하게 HTTP 프로토콜을 사용한 단계로 REST API를 작성하기 위한 사전 준비 단계

  • 1단계: 개별 리소스(Resource)와의 통신을 준수하여 작성하는 단계

    • 모든 자원은 개별 리소스에 맞는 엔드포인트(Endpoint)를 사용해야하함
    • 엔드포인트(Endpoint)는 명사로 작성해야함
    • 요청하고 받는 자원에 대한 정보를 응답으로 전달해야함
    • 응답 전달시 성공/실패 여부를 포함해야함
  • 2단계: CRUD에 맞게 적절한 HTTP 메서드를 사용하여 작성하는 단계

CRUD Method 설명
Creeate POST 새로운 리소스를 생성할때 사용
Read GET 서버에 데이터를 요청할때 사용. 서버에는 변화가 없는 요청이어야함
Update PUT / PATCH 서버의 리소스를 교체할때는 PUT, 수정할때는 PATCH 를 사용해야함
Delete DELET 리소스를 삭제하는 삭제할 때 사용
  • 3단계: HATEOAS(Hypermedia As The Engine Of Application State)를 준수하여 작성하는 단계
    • HATEOAS란?
      HATEOAS란 서버가 클라이언트에게 하이퍼 미디어를 통해 동적으로 정보를 제공해주는 것을 의미합니다. 응답에 URI 포함시켜 클라이언트가 새로운 기능에 접근할 수 있도록 함으로써 HATEOAS 적용할 수 있습니다. URI를 통해 클라이언트가 서버와 동적인 상호작용이 가능하도록 해줍니다.

Open API

Open API는 쉽게 말해 누구에게나 열려있는 API를 말합니다. 공공데이터 포털의 공공데이터가 Open API 형태로 제공하고 있는 대표적인 예입니다. 물론, API마다 정책에 따라 사용의 제한 사항이 존재하기도 합니다. 이때 권한을 확인하기 위해 API Key라는 것이 필요하기도 합니다.

API Key? 그게 뭔데

이용자 발급하는 고유한 Key(값)으로 각각의 이용자마다 부여된 자원의 접근 권한을 확인하는 용도로 사용합니다. 이를 통해 권한이 있는 이용자에게만 API를 제공합니다.

profile
프론트엔드 개발자

0개의 댓글