01. RESTful API
02. JSON
✅ 기존의 Django
- Django는 Web App을 빠르게 개발하기 위한 고수준의 웹 프레임워크
- 즉, 기존에는 Web의 전체 기능이 모두 들어있는 Web Application을 제작
- → 요청에 대해서 html 파일(웹 페이지)을 응답하는 Web Application을 만듦
- MTV를 활용한 Web
- 데이터 모델링, URL 라우팅, 템플릿 시스템, 관리자 기능, 세션, 보안 …
✅ 백엔드로써의 Django
- 보여지는 부분은 처리하지 않고 오직 로직에 집중하는 형태를 만듦
- → 요청에 대해 처리한 결과 데이터를 응답하는 형태
- Django REST Framework (DRF)를 이용함
- → Django + DRF라고 하는 패키지를 살짝 얹은것(확장)으로 Django를 다룰 수 있다면 무리없이 사용할 수 있음.
- DRF == 흔히 말하는 RESTful API를 Django로 구축하기 위한 확장 프레임워크
01. RESTful API: 어플리케이션간 소통하는 방법에 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를 사용
02. JSON: JS 표기법을 따른 일종의 데이터를 담는 형식
사람이 읽기 쉽고 프로그래밍으로 파싱(분석)하기 쉬움
파이썬의 dict처럼 key-value 형식의 구조
사용해보기
- .json 형식으로 사용
- 문자는 "으로 묶여야하며 true false , 숫자 등도 사용가능
["리스트", 1, true, "다양한 자료를 담을 수 있어요"] // list
{ key: value } // object
{
"user1": {
"name": "aiden",
"age": 22,
"tags": ["python", "javascript", "django"]
},
"user2": {
...
},
...
}
object안에 또 object 등이 담길 수 있음.
'Django' 카테고리의 다른 글
Django Seed(Response와 Serializer) (0) | 2024.08.29 |
---|---|
장고 TemplateSyntaxError (0) | 2024.08.28 |
Django Bootstrap, Fontawesome (0) | 2024.08.22 |
Model Relationship(M:N) (0) | 2024.08.21 |
Custom UserModel(플젝 시작시 유의) (0) | 2024.08.20 |