본문 바로가기

개발일기

API(Application Programming Interface)

728x90
반응형

- API(Application Programming Interface, 애플리케이션 프로그래밍 인터페이스, 응용프로그램 프로그래밍 인터페이스)란? 응용 프로그램에서 사용할 수 있도록, 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻한다. 

 

인터페이스에 대해 좀 알아보자.

Interface : 상호 간의 점점이라고 생각하면 된다.

ex) 컴퓨터에 입력을 하기위한 인터페이스 : 키보드

ex) 컴퓨터 화면에 입력된 것을 보기위한 인터페이스 : 모니터

 

User Interface : 사용자가 소통하기 위한 접점

 

HTTP API :  HTTP를 사용하여 프로그램끼리 소통하는 API를 말하며, 대표적인 HTTP API는 카카오 API가 있다.

 

REST(Representational State Transfer, 자원의 표현으로 상태를 전달하는 것)란 네트워크 아키텍쳐 스타일이다. 여기서 '네트워크 아키텍처 스타일'란 네트워크 자원을 정의하고 처리하는 방법 전반을 일컫는다.(위키피디아 참조)

 

HTTP를 잘 활용하기 위한 원칙???

- URI로 자원을 표현하는 데에 집중하고, 자원의 상태(행위)에 대한 정의는 HTTP METHOD로 하는 것이 REST한 API를 설계하는 중심 규칙이다. 그럼 RESTful하게 설계하는 것의 중심 규칙인 두가지에 대해 살펴보자.

=>URI로 자원(리소스)을 표현해야 한다.

=> 자원에 대한 행위는 HTTP Method(GET, POST, PUT, DELETE)로 표현된다.

 

용어들에 대한 정리를 하면서 경험했던 바를 말하고 싶다. XX대학교 XX시스템 개발을 하면서 협업하는 회사에서 제공하는 검색API를 쓰는 경험을 했었는데, 쿼리로 간단하게 조회할 수 있는 것을 굳이 필요가 없는 API를 써서 만드는 경험을 했다. 너무 느렸다. 효율적이지 못한 경험이었다. 나 또한 똑똑하지 않아서 남을 평가할 그럴 능력이 아직 없지만, 프로그램이 좀 더 빠르고 효율적이면 좋겠다는 생각은 나를 떠나지 않는다.

 

 

 <참조>

- https://bentist.tistory.com/37

 

 

 

 

 

728x90
반응형