Notice
Recent Posts
Recent Comments
Link
TanzDev
RESTful API 본문
API란?
📕 API (Application Programming Interface)
⇒ 쉽게 말해 어플리케이션과 프로그래밍적으로 소통하는 방법입니다.
CLI (Command Line Interface) - 명령줄로 소통하는 방법
GUI (Graphic User Interface) - 그래픽으로 유저와 소통하는 방법
API (Application Programming Interface) - 프로그래밍으로 어플리케이션과 소통하는 방법
- 요청뿐만 아니라 응답까지 전체적인 것을 포함한 구조입니다.
- 기계 ↔ 인간뿐만 아니라 소프트웨어 ↔ 소프트웨어간에도 수많은 소통이 존재합니다.
☝ API를 이용해서 서로 소통하는 것
- 미세먼지를 보여주는 웹 어플리케이션 ↔ 기상청 서버 (기상청 API)
- 카카오 로그인이 있는 웹 어플리케이션 ↔ 카카오 서버 (Kakao API)
- 유튜브 영상을 보여주는 웹 어플리케이션 ↔ 유튜브 서버 (Youtube API) </aside>
⇒ 이러한 소통에는 서로 약속된 형식이 필요 == API
RESTful API란?
📕 REST
Representational State Transfer
- 웹에 대한 소프트웨어 설계 방법론입니다.
- Hello, Roy Fielding
- → 2000년 로이 필딩의 논문으로 처음 소개되어 널리 적용되었어요!
- REST의미에 대해서는 여러 해석이 존재합니다.하나의 웹 페이지를 하나의 상태(State)로 본다면 유저가 링크를 입력하는 것은 상태 전이(State Transfer)가 일어나는 것이며→ 여러분의 생각은 어떠신가요~?
- 이때 유저가 받는 하나의 상태는 특정한 표현(Representational)에 의해 조작된다는 개념
- API를 만들기 위한 개념이 아닌 RESTful API로 우리가 사용하는 것입니다.
📕 RESTful API
- 어플리케이션간 소통하는 방법에 REST적인 표현을 더한 것입니다.
- ⇒ REST 원리를 따라 설계한 API이에요!
- RESTful API로 작성하면 결과를 보지 않고 요청 형식만 보더라도 추론이 가능합니다.→ 새로운 article 생성→ article 목록 조회→ 1번 article 조회→ 1번 article 삭제
- DELETE /articles/1/
- GET /articles/1
- GET /articles/
- POST /articles/
- 핵심 규칙
- 자원 : URI로 표현
- 행위 : HTTP Method로 표현
- 표현
- 자원과 행위를 통해 표현되는 결과물로 일반적으로 JSON 형식을 사용
- URI는 동사가 아닌 명사의 나열로 사용→ POST /articles/ (O)
- → POST /articles/create/ (X)
- 따르지 않더라도 로직과 동작에는 아무런 이상이 없으나, 이 규칙을 따를 때 얻는 이득이 큽니다.
- 일반적으로 GET POST PUT DELETE + PATCH를 사용합니다
'기록보드 > TIL' 카테고리의 다른 글
Serialization (0) | 2024.04.24 |
---|---|
RESTful API에서 사용하는 JSON 형식 (0) | 2024.04.23 |
장고 프로젝트 완성! (0) | 2024.04.19 |
장고 프로젝트중..3 (1) | 2024.04.18 |
장고 프로젝트중..2 (0) | 2024.04.17 |