[TIL]API

차보경·2023년 12월 7일
1

TIL

목록 보기
37/37
post-thumbnail

API란?

  • Application Programming Interface : 응용 프로그램에서 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스
  • 한 프로그램에서 다른 프로그램으로 데이터를 주고받기 위한 방법
  • 식당 메뉴판 → 식당과 손님이 음식을 주고받기 위한 것
  • 어떤것을 할 수 있다는 것을 만들어 놓으면 그것에 맞춰서 유저와 서버가 데이터를 주고받는 정확한 방법임
  • 특징 :
    • 구현과 독립적으로 사양만 정의되어 있음
    • API에따라 접근 권한이 필요할 수 있음
    • JAVA API, 여러 기업들의 오픈 API
  • 방법?
    • 그냥 코드임
    • app.get(~url) 을 붙이면 해당 function의 내용이 API로 되고 get 요청을 하면 코드가 실행됨
  • 코드
  • API가 가져가야할 내용
    • 요청 방식 (Get, Post, …) : 데이터를 보낼 것인지, 저장할 것인지, …
    • 어떤 자료를 요청할지 : Endpoint
    • 파라미터 : 자료요청에 필요한 추가정보
    • 웹에 따라 REST API라는 원칙에 따라 작성하면 좋음
  • 브라우저를 통해서 GET 요청을 보내고 있음(버튼 누르면 API 요청하도록 html에 박혀있음)

API 종류

  • Public API : 누구나 사용 가능한 공개 API

  • Private API : 사내에서 한정적으로 사용하는 API

  • Partner API : 미리 정해둔 사용자만 쓰는 API

  • 모든 프로그램은 API를 가질 수 있음

    • Window API : 윈도우 운영체제 기능들을 사용 가능함
    • Database 관리 프로그램 API : DB 입출력 기능들 사용 가능
    • XX 프로그램 API : XX 기능 사용 가능
  • API로 만드는 비지니스 모델

    • 파파고 API, 클로버 요약, …

+)Library, Framework

  • Library와 API의 차이점은 구현 로직의 유무
  • Library와 Framework의 차이점은 응용 프로그램의 흐름 주도권을 누가 가지고 있는

Library : 기능구현 함수가 모여있는 집합체로 독립성을 가지며, 응용프로그램이 능동적으로 사용함

Framework : 응용 프로그램이나 소프트웨어 솔루션 개발을 수월하게 하기 위해 제공된 소프트웨어 환경

상호협력하는 클래스와 인터페이스의 집합, 프레임워크가 용응프로그램에 사용된 코드를 호출해 사용함


상기 내용은 우아한테크코스 Youtube 내용을 참고하여 작성하였습니다.

profile
차보의 Data Engineer 도전기♥ (근데 기록을 곁들인)

0개의 댓글