728x90
HTTPResponse
- Rendering View, Json Response View 모두 API의 일종
- HTML 을 랜더링 하는지, Json의 형태로 단순히 정보만을 주는 차이
- 랜더링을 해야할 때는 Django의 render 를 사용(HTTPResponse 사용)
- Json 포맷으로 전달해야 할때는 JsonResponse를 사용
RestAPI
REST(Representational State Transfer)
- 프로토콜 아님
- 표준 아님
누가 정해놓은 법칙이 아니고 약속이라고 할수있습니다.
즉 REST하다 REST하지 않다 라고 하지만, 서로의 이해도 다르고 공식문서보단 스스로가 다른 누군가의 REST에 대해 발표하는것들을 듣고 재해석하는 경우가 많아서 굳이 지켜야한다기보단 지키면 편하다 보니 많은 이용자들이 있습니다.
특징
- uniform
- stateless
- cacheable
중점적으로 Uniform 은 서버 자체가 하는 일이 무엇인지 금방 알수있는 일괄적인 모습을 가지고 전체적인 시스템 아키텍처를 파악할수있도록 약속되어있는 인터페이스입니다. 프런트나 백엔드에서 쉽게 알수있습니다.
stateless는 클라이언트에서 오는 정보의 상태를 저장하지 않습니다 예를 들어 로그인된 상태에 대한 저장등이 없다는것입니다.
Cacheable 에서는 백엔드에서의 내용 즉 정보가 바뀌지 않는다면 Cache 컨트롤인데에서 캐시가 가능한지 알려줍니다.
캐시가 가능하다면 시간동안은 프런트에서 백엔드로 요청을 하지 않습니다.
기능이 있다면 시간 절약 등이 가능합니다.
구현
- Method로 하는 행위 구별
- item과 id만 url 에 사용
- "-" 는 가독성을 위해 사용
- "_"는 사용하지 않음
- 파일 확장자는 uri에 포함하지 않음
- 언제나 소문자만 사용
RestAPI 의 예제
더보기
728x90