Blog project study

jongeun·2023년 8월 21일
0
post-custom-banner

인프런 DRF 강의 정리

api 확인 방법

  • fetch/xhr
    • xhr, xml httprequest요청만 골라서 볼 수 있음(ajax와 같음)
    • headers : 요청
    • preview : 응답

api

  • api/post/list
  • api/post/3
  • api/catetag/
  • api/like/3/
  • api/comment/create/
  • django에서 만든 5개 api
  • class based view
  • django rest framework

restful url 규칙

  • 테이블 기준으로 이름을 지어주면 좋음
  • app이름/테이블이름/xxx
  • /api/post, api/post/99 두가지로만 구성
    • method로 동작 구분, url에 표현하지 않음
  • 끝에 슬래쉬 붙이지 않는 편이나, django는 붙이는 것을 권장
    • 앞에 슬래쉬는 빼고

DRF API 모드

인증 기능 오버뷰

  • login 시, 새로운 유저를 만들 수 있음
    • settings에 코드 설정으로 인한 것임

create

  • 응답코드, 응답바디(유저 정보)
  • delete는 응답바디가 없으나, 클라이언트와 서버 간 약속을 한다면 장고쪽에서 응답 바디를 보내주는 식으로 코딩 할 수 있음
  • url에는 단수로 씀(s를 안붙임)
  • viewset, router를 파악하기 쉽지 않음 => 공식 홈페이지에서 사용

url로 불러오는 클래스

  • api/kk/users
    • UserViewSet.as_view() 클래스가 호출됨
  • DefaultRouter, simplerouter 사용
    • users는 get, post 가능
    • pk는 get, put, delete, patch 이 라우터에 의해 만들어짐
  • defaultrouter만 가능한 것
    • api root(api/)
    • format suffix(users.json, user.api, users/99.json, users/99.api)
      • users.json는 json형식으로 브라우저에서 보여짐
    • 접미사는 쿼리스트링으로도 가능함
      • api/users/?format=api

    ModelViewSet

  • 공식문서 튜토리얼 메뉴에 샘플코드가 들어있음
  • api가이드 메뉴가 drf메인 기능
    • viewsets, modelviewset
  • topics 메인 기능은 아니지만 이슈가 될 주제들
  • 커뮤니티 > tutorials 앤 리소스 클릭해보면 샘플코드와 비디오, 아티클이 있음
  • drf는 cdrf.co 사이트 참고, cbv는 ccbv.co.uk사이트 참고
    • mixins 모아서 generics만들었고 그것 모아서 viewsets만듦
    • 상속 계층도가 있음, 제일 밑에 있는게 최상위 클래스
  • listcreateview = createapiview + listapiview
  • 위 이미지 5개 뷰 조합이 modelviewset
profile
기록으로 성장하는 개발자 되기
post-custom-banner

0개의 댓글