REST API가 뭔가요?

박제욱·2024년 4월 9일

!img[얄팍한 코딩 사전 - REST API가 뭔가요?](http://img.youtube.com/vi/iOueE9AXDQQ/0.jpg)

  • 이 영상은 개발자들이 일반적으로 알고 쓰는 수준의 REST API에 대해 설명하고 있다.
  • 학술적으로 정확한 의미의 REST API를 알고 싶다면 '그런 REST API로 괜찮은가' 라는 키워드로 검색 후 나오는 영상을 시청하길 바란다.
  • REST API는 정보들이 주고 받아지는데 있어서 개발자들 사이에 널리 쓰이는 일종의 형식이다.
  • 어떤 형식이기 때문에 어떤 프로그래밍 언어를 쓰든, 어떤 프레임워크를 쓰든 어떤 소프트웨어를 쓰든 이 REST API에 맞춰 만들면 되는 것이다.
  • API란 기계와 인간 간의 소통 창구같은 존재이며 결과, 정보를 받아오기 위한 인터페이스이다.
  • 소프트웨어가 다른 소프트웨어로부터 지정된 형식으로 요청 및 명령을 받을 수 있는 수단은 Application Programming Interface. 줄여서 API라고 한다.
  • API는 네트워크 상에서만 존재하는 것이 아니라 개발, Web 등에도 존재한다.
  • REST API란 프론트엔드 웹에서 서버에 데이터를 요청하거나 배달 웹에서 서버에 주문을 넣는 행위 등의 서비스들에서 오늘날 널리 사용되고 있는 REST 형식의 API를 말한다.
  • REST는 SOAP라는 복잡한 형태를 대체하고 있다.
  • REST의 가장 중요한 특성은 각 요청이 어떤 동작이나 정보를 위한 것인지를 해당 요청의 모습 자체로 추론이 가능하다는 것이다.
  • RESTfull하게 만든 API는 요청을 보내는 주소만으로도 이게 대략 뭘 하는 요청인지 파악이 가능하다.
  • 자원을 구조와 함께 나타내는 형태의 구분자를 URI라고 한다.
  • 이런 조회 작업뿐만 아니라, 정보를 새로 넣거나 수정, 삭제하는 작업도 필요하다.
  • 이를 생성, 조회, 수정, 삭제. 즉, Create, Read, Update, Delete. 이 4가지 단어의 첫글자를 따와서 CRUD라고 한다.
  • 서버에 REST API로 요청을 보낼 때는 HTTP에 따라 신호를 전송한다.
  • HTTP에는 다양한 요청들이 있는데 REST API에서는 이 중 4가지에서 5가지 정도를 사용한다.
  • 이 중 post, put, patch에는 body가 존재하여 get, delete보다 정보를 많이 보낼 수 있으며 비교적 안전하게 감춰서 보낼 수 있다.
  • 사실 이것들의 기능이 특정 용도에 제한되어 있는 것은 아니다.
  • post 하나로도 CRUD를 모두 할 수 있다.
  • 그렇지만 누구든 각 요청의 의도를 쉽게 파악할 수 있도록 RESTfull하게 API를 만들기 위해서는 이들을 목적에 따라 구분해서 사용해야 한다.
  • get은 보통 데이터를 조회하는 곳에 사용되고, post는 새로운 정보를 추가하는 데 사용된다.
  • put이나 patch는 post를 통해 추가한 데이터를 수정할 때 사용한다.
  • put은 정보를 통째로 갈아끼울 때 사용하고 patch는 정보 중 일부를 특정 방식으로 변경할 때 주로 사용한다.
  • REST의 규칙 중 하나는 URI가 동사가 아닌 명사 형태로 이뤄져야 한다는 것이다.
  • REST API란, HTTP 요청을 보낼 때, 어떤 URI에 어떤 메서드를 사용할지 등에 관해 개발자들 사이에서 이뤄진 약속이다.
  • 용도에 따른 REST API의 대안 중 하나가 GraphQL이 있다.

출처-> 유튜브 : 얄팍한 코딩 사전 - REST API가 뭔가요?

0개의 댓글