응용 프로그램에서 사용할 수 있도록
운영체제나 프로그래밍 언어에서 제공하는 기능을 제어할 수 있게 해주는 인터페이스
기존에 작성했던 API란? 에서 더 자세하게 확인할 수 있다
REST는 Representational State Transfer의 줄임말로
자원을 이름으로 구분하여 해당 자원의 상태나 정보를 주고 받는 모든 것을 의미한다
대규모의 고성능 통신을 안정적으로 지원하고 쉽게 구현 및 수정이 가능하다
① 인터넷 식별자 URI(Uniform Resource Identifier)를 통해
* URI : 자원을 구조와 함께 나타내는 형태의 구분자, 명사 형태로 작성
② 자원(문서, 그림, 데이터 등)을 명시하고
③ HTTP Method(POST, GET, PUT, DELETE, PATCH 등)를 기반으로
④ 해당 자원에 대한 CRUD를 적용하는 것을 의미한다
즉, REST는 개발자들 사이에 널리 지켜지는 약속 같은 것이다
💡 HTTP Method : 목적에 따라 구분해서 사용해야 한다
GET : 데이터 조회 POST : 새로운 데이터 추가 PUT : 기존 데이터를 변경하거나 업데이트 (정보를 전부 변경할 때) DELETE : 데이터 삭제 PATCH : 기존 데이터를 변경하거나 업데이트 (정보 중 일부를 변경할 때)
POST, PUT, PATCH에는 body라는 주머니가 있어서
GET, DELETE 보다 많은 정보를 안전하게 감춰서 전송할 수 있다💡 CRUD
Create : 생성 Read : 읽기 Update : 업데이트 Delete : 삭제
위에서 설명했듯이 REST는 개발자들 사이에 널리 지켜지는 약속 이다
REST 규칙을 바탕으로
기능에 맞게 HTTP Method를 사용하고, 안전하게 정보를 교환할 수 있도록 설계된 인터페이스가 바로 REST API 이다
RESTful하게 만든 API는
요청을 보내는 주소만으로도 대략 어떤 동작이나 정보를 위한 것인지 파악이 가능하다
소문자 사용
❌ https://Rest-Api.com
⭕ https://rest-api.com
언더바 말고 하이픈 사용
❌ https://rest_api.com
⭕ https://rest-api.com
마지막에 슬래시 포함 X
❌ https://rest-api.com/explain/
⭕ https://rest-api.com/explain
행위 포함 X (HTTP Method로 표현하기)
❌ https://rest-api.com/explain/post/1
⭕ https://rest-api.com/explain/1
파일 확장자 포함 X
❌ https://rest-api.com/explain/photo.jpg
⭕ https://rest-api.com/explain/photo
참고
얄팍한 코딩사전 - REST API가 뭔가요?
코드온 - 면접 단골 질문! API, REST API가 뭔가요? (개발 필수지식)