ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [2019.04.23] RESTful API 개념
    개발 블로깅/Server&DataBase 개념 2019. 4. 23. 08:57

    RESTful이란 단어를 처음 들어본게 2015년...인턴생활하면서 처음으로 ajax를 사용해볼 때 들어본 것 같다...무려 4년 전이다. 근데 단어만 들어봤지, 이게 대체 뭐하는 녀석인지 어떤 개념인지 잘 몰랐고, 찾아봐도 이해가 잘 되지 않았는데, 요즘 웹 분야로 계속 공부를 하다보니 조금 느낌이 와닿는 것 같기도...

     

    RESTful을 알기 전에 REST가 뭔지 먼저 이해를 해야한다.

     

    # REST란? 

     

    자원을 이름(자원의 표현)으로 구분하여 자원의 정보를 주고 받는 모든 일의 의미한다. 그냥 쉽게 자원에 이름을 붙여서 주고받는 행위! 

    여기서 말한 자원에는 변수에 담긴 데이터 뿐 아니라, 문서, 그림, 파일 등 소프트웨어에서 사용되는 모든 것을 말함.

    ex) DB의 학생 정보가 자원이면, 'student'라는 이름으로 자원을 묶어서 보냄.

    REST는 클라이언트와 서버가 통신을 주고받는 방식 중 하나이다.

     

    REST의 특징

    • http 프로토콜의 인프라를 그대로 사용하므로 별도 REST의 환경을 구성할 필요없이 바로 사용.
    • http표준 프로토콜에 따르는 모든 플랫폼에서 사용이 가능

     

    REST의 구성요소

    • 자원 : 모든 자원에 고유한 ID가 존재. 자원을 구별하는 ID는 '/group/group_id'와 같이 http URL이다.
    • 행위 : http 프로토콜의 method를 사용한다. (GET, POST, PUT, DELETE)
    • 표현 : Client가 요청을 하면, Server는 요청에 알맞는 응답을 보낸다.

     

    # REST API란?

     

     

    우선 API(Application Programming Interface)란, 서로 정보를 주고 받는 기능을 할 수 있게 하는 것을 말한다. 

    그러니 REST API는, 서버와 클라이언트 간 REST 방식으로 정보를 주고 받게 하는 기능을 말한다.

     

    RESTful하다? REST의 method (GET, PUSH, PUT, DELETE)를 알맞는 방식에 적용하여 사용하게 설계한 것을 말한다.

    ex) 모든 요청을 POST로 처리가 가능함(x) -> 데이터를 가져오는 행위는 GET 방식 요청, 서버의 데이터에 변화를 주는 행위는 POST 방식  요청(o)

     

     

    REST API 설계 규칙

     

    사실 REST API를 개발할 때 설계 규칙이 엄청나게 복잡하고 많다... 엄청나게 많지만, 정말 중요하고 이것만은 꼭 지켜야 한다! 하는 것만 정리해보겠다.

     

    • resource는 동사보다는 명사, 대문자보다는 소문자를 사용한다.
    • resource의 도큐먼트 이름으로는 단수 명사를 사용한다. ex) get member/1 (X)
    • resource의 컬렉션 이름으로는 복수 명사를 사용한다. ex) get members/1 (X)
    • URL에 http Method(GET, PUT, POST, DELETE 등)을 사용하지 않는다. ex) get members/delete/1 (X)
    • URL에 행위에 대한 동사 표현을 사용하지 않는다. ex) get members/show/1 (X)
    반응형

    댓글

Designed by Tistory.