REST API

jyleever·2022년 7월 30일
0

기술

목록 보기
2/2

해당 포스팅은 얄팍한 코딩사전 영상 참고하여 작성함
https://youtu.be/iOueE9AXDQQ

깊은 내용은 아니고 기초적으로 이해할 수 있는 내용

정의

개발자들이 정보를 주고받을 때 널리 사용하는 일종의 형식
어떤 프로그래밍 언어를 쓰든 프레임워크, 라이브러리를 쓰든 이 형식에 맞춰서 기능을 만들면 된다

API

SW가 다른 SW로부터 지정된 형식으로 요청, 명령을 받을 수 있는 수단

  • Aplication Programming Interface
  • 리모콘으로 사람과 TV가 소통하는 것처럼 IT 세계에서도 기계와 기계, 소프트웨어와 소프트웨어 사이에서 수많은 요청과 정보가 교환들이 이루어 질 때 이들 사이에서도 소통을 위한 창구가 필요
  • 그리고 이 정보를 요청하는 지정된 형식이 필요

REST API

  • 프론트엔드 웹에서 서버에 데이터를 요청하거나 배달 앱에서 서버에 주문을 넣거나 하는 등의 서비스들에서 오늘날 널리 사용되는 형식이 REST API
  • 과거의 SOAP 라는 복잡한 형식 대체

REST의 가장 중요한 특징

  • 각 요청이 어떤 동작이나 정보를 위한 것인지를 그 요청의 모습 자체로 추론 가능하다는 것
  • 서비스는 개발자 혼자 만드는 것이 아님 → RESTful하게 만든 API는 요청을 보내는 주소만으로도 다른 사람들이 이게 무슨 요청인지 파악할 수 있음

REST API와 HTTP

  • REST API는 HTTP의 요청 중 GET, POST, DELETE, PUT, PATCH 등을 사용

  • 누구든 URI만 보고도 각 요청의 의도를 쉽게 파악할 수 있도록 RESTful하게 요청을 만들기 위해서는 이들을 목적에 따라 구분해서 사용해야 한다

  • 예를 들어 get 를 보고 개발자는 어떤 정보를 읽는 요청이라고 파악, 또 post를 보고 개발자는 body에 담긴 정보를 생성한다는 것을 파악, PUT과 PATCH를 보고 정보를 수정하는 요청이라는 것을 파악

    • PUTPATCH?
    • PUT : 정보를 통째로 갈아끼울 때 사용
    • PATCH : 정보 중 일부를 특정 방식으로 변경할 때 사용
  • 한 가지 HTTP 요청으로 읽고 쓰고 수정하는 등의 구분할 수 있는 요청을 보내려면 URI에 그 해당하는 동작을 명시해야 함. 이는 깔끔하지 않기 때문에 REST의 규칙 중 하나로 URI는 동사가 아닌 명사로 이루어져야 한다는 것.

결론

REST API는 HTTP 요청을 보낼 때 어떤 URI에 어떤 메소드를 사용할지에 대해 개발자들 사이에서 널리 지켜진 규칙

개발자들의 규칙이므로 기술에 구애받지 않기 때문에 앱이나 웹사이트를 어떤 언어로 만들든 간에 소프트웨어 간에 HTTP 방식으로 정보를 주고받는다면 이렇게 RESTful한 형식으로 서비스를 만들 수 있다.

0개의 댓글