REST API

홍인열·2022년 3월 17일
0

API ?

Application Programing Interface의 약자로 응용프로그램과 의사소통하기위하 접점 이란 의미를 갖는다.

예를 들자면

API를 일상에서 쓰는곳을 예를 들어보자면 음식점 키오스크를 들 수 있다.
1. 키오스크에서 음식을 주문하면
2. 주방에 주문이 들어가고,
3. 주문이 완료되었다는 영수증을 받을 수 있다.

이때 음식을 주문하는것은 요청, 주문한 음식을 받는건 응답이라고 볼수 있다. 키오스크에서 음식을 주문할때는 일종의 룰이 있다. 메뉴를 선택하고, 주문하기를 누른후, 결제가지 완료해야 요청이 되도록 되어있다. 이때 키오스크가 주문자와 주방사이의 API 역할을 한다고 볼 수 있다.
키오스크앞에서 햄버거 주문해줘라고 한다고 주문이 되진 않는 것이다. 룰을 지켜서 주문을 해야한다.
룰을 지켜서하는 주문이 REST API 이다

REST API !

REST는 Representational State Transfer의 약자다. 직역하면 대표적인 상태 전달? 이라는 뜻인데 애매모호하다.
추가로 알아보면 REST API라는 형태를 디자인 하는데는 몇개의 단계가 있다. 성숙도모델 이라고하며 0~3단계로 되어 있다.
성숙도 2단계만되도 좋은 API라고 할 수 있다. 성숙도 모델은 쉽게 찾아볼 수 있다.

간단히 결론을 내보자면 REST API는

요청문 만봐도 어떤 요청인지 유추가 가능하고,

POST /order/option?menu=hambuger&cheese=many&patty=2
치즈많고 패티는 2장짜리 햄버거를 주분합니다!

요청에 맞는 HTTP메서드를 사용하고,

GET /order/option?menu=hambuger&cheese=many&patty=2
HTTP method POST를 쓸 필요가 없다.

응답시 명확한 응답코드를 사용하는 API라고 할 수 있다.

성숙도 3단계는 응답에 url을 포함한 링크를 삽입하여 새로운 기능에 접근할 수 있도록 하는 것도 있다.

REST API는 강제적이지 않다.

하지만 RESTful 한 API를 사용하면 더 효율적이지 않을까? 나만 알아볼수 있는 API를 사용한다는건 혼자하겠다는 거라고 생각한다.

profile
함께 일하고싶은 개발자

0개의 댓글