REST API란?

psj0810·2020년 11월 23일
0

REST API란?

정보들이 주고받아지는데에서 개발자들 사이에 널리 쓰이는 일종의 형식이다.
택배에 송장번호가 있듯이 이용자들이 그걸 채워넣는것처럼 어떤 기술이나 제품이 아니라, 형식이기 때문에 어떤 프로그램이나 언어를 쓰든 이 폼에 맞추어서 기능을 만들어내면된다.

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

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


예를 들어 학원 DB에게 정보를 보내달라는 요청을 할때 주소에 이렇게 classes가 붙는다면 아마도 학원의 반들 목록을 받아오는 요청일것이다.

그 뒤에 이렇게 index의 고유번호가 따라붙으면 그 반들 중 인덱스 번호가 이 숫자인 반의 정보가 온다.


그 뒤에 students를 붙여서 보내면 이 반에 해당하는 학생들의 정보가 오고

여기에 또 index를 붙이면 그 학생들 중 이 인덱스 번호를 가진 학생의 정보가 온다.


혹은 이렇게 정보를 붙여서 남학생들의 정보만 받아올수도 있다.

한 페이지에 10명씩 받아오는거라면 이런식으로 표현이 가능하다.

URI
위처럼 자원을 구조와 함께 나타내는 이런 형태의 구분자를 URI라고 한다.

그런데 우리는 이런 조회작업뿐만 아니라 정보를 새로 넣거나 수정하고 삭제하는 작업도 필요하다
서버에 REST API로 요청을 보낼때는 HTTP란 규약에 따라 신호를 전송한다.
이 HTTP로 요청을 보낼때도 이하와 같은 여러 메소드가 있다.


REST API에서는 이 4가지 혹은 5가지를 사용한다.

POST, PUT, PATCH는 body에 많은 정보를 담을수가 있어 GET이나 DELETE보다 비교적 안전하고 많은 정보를 감춰서 실어보낼수 있다.
이것들의 기능이 특정용도에 제한되어 있지는 않지만 누구든 각 요청의 의도를 쉽게 파악 할수 있도록 RESTful하게 API를 만들기 위해서는 이들을 목적에 따라 구분해서 사용해야한다.

GET은 READ기능 즉 조회하는데 사용한다.
POST는 CREATE기능 즉 새로운 정보를 추가하는데 사용한다.
PUT, PATCH는 UPDATE기능 즉 변경될 새 정보들을 body에 실어 보낸다.
PUT과 PATCH의 사용은 쓰는 곳마다 다르고 그냥 PUT으로 다 하는곳도 있는데
알려진 정석은
PUT은 정보를 통째로 갈아끼울때 사용하고
PATCH는 정보중 일부를 특정방식으로 변경할때 사용
DELETE는 정보를 삭제할때 사용한다.

출처 https://youtu.be/iOueE9AXDQQ

profile
백엔드개발자

0개의 댓글