Django REST_framework
RESTful API
REST는 Representational State Transfer
의 약자. 분산 하이퍼미디어 시스템을 위한 소프트웨어 아키텍처의 한 형식. 웹에 있는 자원을 표시하는 방법.
왜 필요 하나?
- 프론트엔드, IOS, Android등 모든 플랫폼에서 사용할 수 있도록 데이터만 전달하기위해 사용.
- Django에 기본적으로 내장 되어 있지 않기 때문에 따로 설치 해야 한다.
구성
- 자원(Resource) -URI
- 행위(Verb) - HTTP METHOD
- 표현(Representations) - 표현이 Restful 하다는 방식이 된다. 표현방식에 따라서 이 API가 어떤 역활을 하는지, 그 API에 어떤 행위를 보내면 어떤 자원에 대해서 무슨 행위를 할수 있는지 라는것을 나타냄.
REST API 규칙
- URI는 정보의 자원을 표현해야 한다.(리소스명은 동사보다는 명사를 사용)
- 자원에 댛한 행위는 HTTP Method(GET, POST, PUT, DELETE 등)로 표현
GET /membser/delete/1 (x) DELETE /members/1 (o)
회원 정보를 가져 오는 URI
GET /members/show/1 (x) GET /membets/1 (o)
회원을 추가 할 때
GET /members/insert/2 (x) POST /members (o)
HTTP METHOD 의 역활
METHOD | |
---|---|
POST | POST를 통해 해당 URI를 요청하면 리소스를 생성합니다. |
GET | GET를 통해 해당 리소스를 조회합니다. 리소스를 조회하고 해당 도큐먼트에 대한 자세한 정보를 가져온다. |
PUT | PUT을 통해 해당 리소스 전체를 수정 합니다. |
DELETE | DELETE를 통해 리소스를 삭제 합니다. |
PATCH | PACH를 통해 해당 리소스 일부를 수정 합니다. |
URI 설계시 주의점
/
구분자는 꼐층 관게를 나타내는데 사용함.- URI 마지막 문자로
/
를 포함하지 않는다.하지만
Django
는 마지막에/
를 넣는 것이 기본 규칙이다. - URI에 밑줄
_
대신 하이픈-
을 사용한다. - URI경로는 소문자를 사용한다.
이러한 방식으로 쉽게 설계를 할 수 있게 도와주는 것이 REST framework
이다.
Comments