ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • API와 REST API
    공부/코딩용어 2023. 4. 12. 19:00
    반응형

    ** API와 REST API **

     

     

    📍Interface 

    서로 다른 두 개의 시스템, 장치 사이에서 정보나 신호를 주고받는 경우의 접점이나 경계면.

     👉 서로 다른 두 개체 사이에서 상호작용을 가능하도록 하는 것

     👉 사용자 - 컴퓨터 사이의 인터페이스는 키보드, 마우스 등을 통해 이루어진다.

     👉  시스템 간의 인터페이스는 API를 통해 이루어진다.

     

    📍UI (User Interface)

    컴퓨터와 사람 간의 상호작용의 접점

     👉 컴퓨터 또는 디바이스와 사람 간의 상호작용을 할 때 보는 시각적 요소

    • GUI 그래픽 사용자 인터페이스 : 그래픽을 사용해 사용자 - 컴퓨터 간 상호작용을 가능하게 하는 인터페이스
    • WUI 웹 기반 인터페이스 : 인터넷을 통해 제공되는 소프트웨어에서 사용자와 상호작용 시
      웹 브라우저를 통해 제공되는 인터페이스

     

    📍API (Application Programming Interface)

    소프트웨어가 다른 소프트웨어로부터 지정된 형식으로 요청, 명령을 받을 수 있는 수단

     👉 한 프로그램에서 다른 프로그램으로 데이터를 주고받기 위한 방법(→ 코드) (식당 메뉴판 같은 것)

     👉 프로그램 간 상호작용을 가능하게 하는 인터페이스 

    • PUBLIC API : 누구나 사용가능한 공개 API
    • PRIVATE API : 사내에서 사용하는 API
    • PARTNER AP : 정해둔 사용자만 사용하는 API

     

     👉 웹 외에도 모든 프로그램은 API를 가질 수 있다.

    • Windows API 윈도우 운영체제 기능들을 사용가능
    • DB 관리 API 등 다양한 API가 존재한다.

     

    📍REST API ( Representational State Transfer API)

    REST는 서버와 클라이언트 간 통신을 위해 자원을 효율적이고 안정적으로 전송하기 위한 아키텍처를 말한다.

    더보기

    *아키텍처 의미

    : 시스템 구성을 설계하고 구현하는 데 필요한 원칙, 규칙 및 구성 요소의 집합을 의미함.

     

    REST API는 REST 아키텍처의 원칙을 따르는 API로 자원을 URI로 식별하고,

    HTTP프로토콜을 기반으로 하기 때문에, HTTPT의 메서드를 이용해 해당 자원에 대한 동작을 수행한다.

    더보기
    *URI (Uniform Resource Identifier)의 의미
    : 인터넷에서 사용되는 모든 자원을 식별하는 방법으로 문자열의 형태로 표현된다.
      URI는 URL과 URN으로 나눌 수 있다.

    • URL (Uniform Resource Locator) :
      특정 자원의 의치 지정하며, 프로토콜/호스트이름/포트번호/리소스 경로로 구성된다.
      예) https://www.example.com/my-page
    • URN (Uniform Resource Name) : 
      특정 자원의 이름을 지정, URL과 달리 자원의 위치에 대한 정보는 포함하지 않는다.
      예) "urn:isbn:0-486-27557-4"는 국제 표준 도서번호(ISBN) "0-486-27557-4"를 가리키는 URN

     

    👉 RESTful하게 만든 API는 요청을 보내는 주소만으로 어떤 목적을 위한 요청인지 알 수 있는 것

    👉 목적에 따라 HTTP 메서드를 구분해 사용한다는 것

    👉 결국 REST API는 HTTP요청을 보낼 때 어떤 URI에 어떤 메소드를 사용할지에 대한 개발자들 사이의 약속

     

    CRUD (데이터 조작하는 기본 작업)   HTTP 메서드
    Create 생성 POST
    Read 조회 GET
    Update 수정 PUT(정보 전체) / PATCH (일부 변경)
    Delete 삭제 Delete

     

    📍REST API 설계하기

    * 작명시 표준이 필요하다

    • URL에서는 동사를 사용하지 않는다. 
      ex) /movies, /movies/고유 식별자 - /moives/inception

    • 동사를 사용하는 대신 HTTP 메소드를 활용해 의미를 전달한다.
      ex) POST /movies, GET /movies
            GET /movies/inseption (영화 인셉션에 대한 정보 열람)
      ex) DELETE(삭제)나 PUT(수정)은 전체에 하지 않으므로
            DELETE /moives/inception, PUT /moives/inception
    • 검색이나 필터를 처리하기 위해서는 쿼리 파라미터(query parameter)를 이용한다.
      👉 매번 url을 만드는 것보다 훨씬 좋다.
      ex) /movies?min_rating=9.8, /movies?release_date=2021
      ex) page도 추가할 수 있음 /movies?page=5

      - 파라미터 : 일반적으로 특정 id나 이름으로 조회할 때 사용
      - 쿼리 : 키워드를 검색하거나 요청을 할 때 필요한 옵션을 전달할  사용한다.
    /profiles/velopert  /*파라미터*/
    /about?details=true /*쿼리*/

     

     

    *참고 사이트:

     

     

     

     

    댓글

Designed by Tistory.