REST API가 뭔가요?
https://www.youtube.com/watch?v=iOueE9AXDQQ
API(Application Programming Interface)
· 소프트웨어가 다른 소프트웨어로부터 지정된 형식으로 요청, 명령을 받을 수 있는 수단
REST API
· HTTP 요청을 보낼 때, 어떤 URI에 어떤 메소드를 사용할 지 개발자들 사이에 널리 지켜지는 약속
· 정보들이 주고 받아지는 데 있어서 널리 쓰이는 일종의 형식이기 때문에 어떤 프로그래밍 언어를 쓰던 프레임워크를 쓰던 특정 기술에 구애받지 않음
· 과거의 SOAP이란 복잡한 형식을 대체
· 각 요청이 어떤 동작이나 정보를 위한 것인지를 그 요청의 모습 자체로 추론이 가능
· 서비스를 개발자 혼자 만드는 게 아니기 때문에 당장은 혼자라도 나중에 이 일을 인계받을 개발자나, 이 API를 사용해서 다른 제품을 만들 개발자를 위해 RESTful하게 개발하는 것이 중요!
· RESTful하게 만든 API는 요청을 보내는 주소만으로 대략 이게 뭘 하는 요청인지 파악이 가능
URI
· 자원을 구조와 함께 나타내는 이런식의 구분자
· URI는 동사가 아닌 명사들로 이루어져야한다. ← 일종의 규칙
CRUD
· Create : 생성
· Read : 조회
· Update : 수정
· Delete : 삭제
· 서버에 REST API로 요청을 보낼 때는 HTTP란 규약에 따라 신호를 전송
· GET/POST/DELETE/PUT or PATCH 일반적으로 사용되는 메서드
· GET/DELETE와 다르게 POST/PUT/PATCH의 경우 BODY가 있어서 정보들을 더 많이 비교적 안전하게 감춰서 실어보낼 수 있다.
· 이 5가지의 기능은 특정 용도에 제한X
· POST 하나로도 데이터를 읽고 쓰고 수정하고 삭제까지 다 가능하다.
·누구든 각 요청의 의도를 쉽게 파악할 수 있도록 RESTful하게 만들기 위해서는 목적에 따라 구분해서 사용하는 것이 좋다.
· GET : 데이터를 조회하는 데 사용
· POST : Create. 새로운 정보를 추가할 때 사용
· PUT or PATCH : PUT은 정보를 통째로 갈아끼울 때, PATCH는 정보 중 일부를 특정 방식으로 변경할 때 보통 사용
· DELETE : 정보 삭제할 때 사용