Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
Tags
- TypeScript
- react
- QuerySetAPI
- queryset
- unionfind
- VITE
- pwa적용하기
- js
- SSAFY
- 싸피10기
- Django
- 알고리즘
- 14658
- SSAFYcial
- Python
- sqld
- 머신러닝종류
- 플로이드워셜
- 셀프넘버
- 싸피셜
- SQL
- 싸피
- 백준
- db
- vitepwa
- 리액트
- Javascript
- PWA
- git
- 데코레이터
Archives
- Today
- Total
Meme's IT
[Django] API와 REST 본문
API란?
애플리케이션과 프로그래밍으로 소통하는 방법
서로 다른 프로그램에서 요청과 응답을 받을 수 있도록 만든 체계
예를 들어, 냉장고에 전기를 공급할 때 직접 전기를 공급하기 위해 배선을 하지 않고
플러그를 소켓에 꽂으면 공급할 수 있음 → 여기서 소켓 or 플러그가 API의 역할
Web API
웹 서버 또는 웹 브라우저를 위한 API
보통 OPEN API를 활용한다
REST란? (Representational State Transfer)
API서버를 개발하기 위한 일종의 소프트웨어 설계 방법론
즉, ~~하자고 정해놓은 약속(규칙은 아님)
RESTful API
REST 원리를 따르는 시스템을 부르는 말
자원을 정의하고 자원에 대한 주소를 지정하는 전반적인 방법을 서술
← 각각 API구조가 너무 다르니까 우리 좀 통일해서 쓰자
REST에서 자원을 정의하고 주소를 지정하는 방법
- 자원의 식별: URI
- 자원의 행위: HTTP Methods(GET & POST
- 자원의 표현
- JSON 데이터
- 궁극적으로 표현되는 데이터 결과물
간단한 규칙들
- 슬래시 구분자(/)는 계층 관계를 나타내는 데에 사용한다
- 예를 들어 user가 가지고 있는 devieces를 조회하려면 GET user/{user_id}/devices
- 하이픈(-)은 URL 가독성을 높이는 데 사용한다
- 언더바(_)는 URL에 사용하지 않는다
- URL에는 소문자만 사용한다
- RFC3986(URI 문법 형식 표준)에서 대소문자를 구별하도록 규정
- 대소문자에 따라 다른 리소스로 인식
- 파일 확장자는 URI에 포함시키지 않는다
- Accept header를 사용하여 확장자를 표현함
- 예를 들어, GET articles/dog.jpg는 틀림
- GET articles/dog HTTP/1.1 Host: articles Accept: image/jpg의 형식
'BackEnd > Django' 카테고리의 다른 글
[Django] RESTful API (2) 자원의 행위 / 표현 (0) | 2023.10.18 |
---|---|
[Django] RESTful API (1) URI과 URL (0) | 2023.10.18 |
[Django] 댓글 구현(N : 1) (0) | 2023.10.17 |
[Django] Query (0) | 2023.10.17 |
[Django] Fixtures (0) | 2023.10.17 |