📘 DRF
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)
RESTful API란?
REST
Representational State Transfer
웹에 대한 소프트웨어 설계 방법론이에요
- 어플리케이션간 소통하는 방법에 REST적인 표현을 더한 것이에요
- ⇒ REST 원리를 따라 설계한 API이에요!
- RESTful API로 작성하면 결과를 보지 않고 요청 형식만 보더라도 추론이 가능해요
POST /articles/ | 새로운 article 생성 |
GET /articles/ | article 목록 조회 |
GET /articles/1 | 1번 article 조회 |
DELETE /articles/1/ | 1번 article 삭제 |
- 핵심 규칙
- 자원 : URI로 표현
- 행위 : HTTP Method로 표현
- 표현
- 자원과 행위를 통해 표현되는 결과물로 일반적으로 JSON 형식을 사용
- URI는 동사가 아닌 명사의 나열로 사용→ POST /articles/ (O)
- → POST /articles/create/ (X)
- 따르지 않더라도 로직과 동작에는 아무런 이상이 없으나, 이 규칙을 따를 때 얻는 이득이 커요
- 일반적으로 GET, POST, PUT, DELETE (+ PATCH)를 사용해요
⇒ 앞으로 RESTful API를 설계하고 제공하는 서버를 만들게 될 거예요!
JSON(JavaScript Object Notation)
- JS 표기법을 따른 일종의 데이터를 담는 형식이에요
- XML, CSV, YAML 등의 형식도 있지만 JSON을 일반적으로 사용해요!
- 사람이 읽기 쉽고 프로그래밍으로 파싱(분석)하기 쉬워요
- 파이썬의 dict처럼 key-value 형식의 구조예요
사용해보기
- .json 형식으로 사용해요
- 문자는 "으로 묶여야하며 true false , 숫자 등을 사용가능해요
기본 형식
["리스트", 1, true, "다양한 자료를 담을 수 있어요"] // list
{ key: value } // object
예시
{"user1": {
"name": "minkung",
"age": 26,
"tags": ["python", "django"]
},
"user2": {...},
...}
- object 안에 또 object 등이 담길 수 있어요
'공부 > DRF 공부' 카테고리의 다른 글
[DRF] DRF Single Model CRUD (0) | 2025.01.30 |
---|---|
[DRF] Django REST Framework 시작하기, Postman (0) | 2025.01.28 |
[DRF] Response와 Serializer (0) | 2025.01.28 |
[DRF] HTTP와 URL 구조 (0) | 2025.01.23 |
[DRF] DRF INTRO (0) | 2025.01.23 |