[API] REST API - 개념 및 특징, URI 설계하기

    API(Application Programming Interface)는

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

     

    REST API


    REST API는 데이터를 주고받을 때, 개발자들 사이에서 널리 쓰이는 형식이다.

    • REST란 형식의 API
    • 과거의 SOAP이란 복잡한 형식을 대체한다.

     

    REST API 특징


    각 요청이 어떤 동작이나 정보를 위한 것인지를 그 요청의 모습 자체로 추론 가능하다.

    ✅ RESTful하게 만든 API는 요청을 보내는 주소만으로도 어떤 요청(CRUD)인지 파악 가능하다.

    https://(도메인)/classes
    // 반 목록을 받아온다.
    
    https://(도메인)/classes/2 
    // index가 2인 반의 정보를 받아온다.
    
    https://(도메인)/classes/2/students 
    // index가 2인 반의 학생들 정보를 받아온다.

     

    ➰자원(데이터)을 구조와 함께 나타내는 이런 형식의 구분자를 URI라고 한다.

     

     

    REST API와 HTTP메소드


    서버에 REST API로 요청을 보낼 때는 HTTP라는 규약에 따라 신호를 전송한다.

    HTTP로 요청을 보낼 때 다양한 메서드를 사용하는데, 쓰임(CRUD)에 따라 다음과 같이 구분 가능하다.

     

    GET Read, 데이터를 조회하는데 사용한다.
    DELETE Delete
    POST Create, 새로운 정보를 추가하는데 사용한다.
    PUT Update, 정보를 통째로 갈아끼울 때
    PATCH Update, 정보 중 일부를 특정 방식으로 변경할 때 사용

    이 중 POST, PUT, PATCH는 'body'라는 주머니가 있어서, GET이나 DELETE보다 더 많은 정보를 비교적 안전하게 보낼 수 있다.

     

    ✅ REST API란, HTTP요청을 보낼 때 어떤 URI에 어떤 메소드를 사용할지 개발자들 사이에 널리 지켜지는 약속이다.

     

    URI 설계하기


    URI는 동사가 아닌 명사들로 이뤄져야 한다.

    영화 소개 사이트를 만든다고 가정해 보자.

    https://abc.com/movies/inception
    
    <!-- query parameter 사용하기 -->
    
    https://abc.com/movies?min_rating=9.8
    https://abc.com/movies?release_date=2021
    https://abc.com/movies?page=2

     

    https://abc.com/movies ( Collection )

    https://abc.com/movies/inception ( Unique indentifier, 고유식별자 )

    ✅ HTTP methods를 활용해서 인터랙션 할 수 있다.

     

    query parameter 사용하기

    query parameter 사용하면 api에 pagination을 추가할 수 있다.

     



    🚀 참고

    ➰ 더 공부할 것

    • graphQL

    'Tech' 카테고리의 다른 글

    [API] API - 개념과 사용  (0) 2023.01.31

    댓글