쏭의 개발 블로그

API와 REST API는 무엇일까? 본문

Programming

API와 REST API는 무엇일까?

songu1 2023. 3. 19. 21:57

[1] API

Application Programming Interface : 애플리케이션을 프로그래밍하는데 쓰이는 인터페이스

  • 애플리케이션이 인터페이싱하는(요청과 응답을 주고받는) 체계
  • 데이터를 원활하게 주고받기 위한 방법이자, 주고받을 수 있는 데이터의 형식을 정하는 규격

https://blog.wishket.com/api%EB%9E%80-%EC%89%BD%EA%B2%8C-%EC%84%A4%EB%AA%85-%EA%B7%B8%EB%A6%B0%ED%81%B4%EB%9D%BC%EC%9D%B4%EC%96%B8%ED%8A%B8/

  • 프로그램이 명령목록을 정리하고 명령을 받으면 응용프로그램과 상호작용하여 명령에 대한 값을 전달
  • 프로그램이 서로 상호작용하는 것을 도와주는 매개체

API의 역할

  1. 서버와 데이터베이스에 대한 출입구 역할하며, 허용된 사람들에게만 접근성을 부여
  2. 애플리케이션과 기기가 원활하게 통신할 수 있도록
  3. 모든 접속을 표준화하여 기계/운영체제 등과 상관없이 누구나 동일한 액세스를 얻을 수 있음

API 상세내용

  1. API 결과(데이터) 제공 형식 : JSON , XML
    • 요청의 결과로 받는 데이터의의 구조에 공통의 포맷을 정함
  2. API 활용 방법
    • API문서 참고

API가 필요한 이유

  • 개발 및 관리의 효율성
  • 유연성, 확장

 

[2] Rest API

https://res.cloudinary.com/practicaldev/image/fetch/s--YTDTEgpk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/ekawmj3rafdtn06hzj79.png

1. REST

Representational State Transfer : 자원을 이름으로 구분하여 해당 자원의 상태를 주고받는 모든 것

  1. HTTP URI를 통해 자원(Resource)을 명시
  2. HTTP Method(GET, POST, PUT, DELETE, PATCH 등)을 통해
  3. 해당 자원(URI)에 대한 CRUD 연산을 적용하는 것

 

REST의 구성요소

  • 자원(Resource) : HTTP URI
  • 행위(Verb) : HTTP method
  • 표현(Representations) : HTTP Message Pay Load

 

특징

  • 서버-클라이언트 구조
  • Stateless
  • 캐시 처리 가능
  • 계층화
  • 인터페이스 일관성

 

2. REST API

REST의 원리를 따르는 API

 

데이터 요청 예시

  • HTTP 규약에 따라 REST API로 데이터 요청하기 위한 예시
GET http://도메인주소/grades/3/teachers

GET : HTTP method 명령어 GET을 사용 → 데이터를 불러오는 요청

http://도메인주소 : HTTP URI를 통해 어디서 데이터를 가져올 것인지 알 수 있음

grades/3/teachers : 원하는 세부정보는 3학년 선생님들 정보임을 알 수 있음

 

REST API 설계 예시

  1. URI는 동사보다는 명사를, 대문자보다는 소문자를 사용해야함
  2. 마지막에 슬래시( / )를 포함하지 않음
  3. 언더바( _ ) 대신 하이폰( - )을 사용
  4. 파일 확장자는 URI에 포함하지 않음
  5. 행위를 포함하지 않음

 

3. RESTful

REST의 원리를 따르는 시스템

  • REST API의 설계 규칙을 올바르게 지킨 시스템을 RESTful하다 말할 수 있음

 

[3] Open API

누구나 쓸 수 있도록 공개된 API

 


https://brunch.co.kr/@ogaa2143/30

https://enjoyinjoanne.tistory.com/56

https://khj93.tistory.com/entry/네트워크-REST-API란-REST-RESTful이란

'Programming' 카테고리의 다른 글

Primary Key 생성 전략  (0) 2025.03.02