-
카테고리
-
세부 분야
풀스택
-
해결 여부
미해결
DRF강의 > JSON응답뷰 강의 에서 질문이 있습니다!
21.10.25 14:10 작성 조회수 122
1
DRF로 Post모델의 API를 설계할 때 router.register('posts', views.PostViewSet) 여기서
2개의 url을 만들어준다고 하셔서 router.urls를 출력을 해봤습니다.
출력 결과 아래와 같이 나왔습니다.
여기서 질문이 생겼습니다. 4번에서 posk/pk/format 이어야 할것같은데
왜 중간 \. 이 있는지 의문입니다...!!
답변을 작성해보세요.
1
이진석
지식공유자2021.10.25
DRF의 DefaultRouter에서는 format_suffix_patterns를 통해서 해당 format 패턴이 추가된 urlpatterns를 생성해주고 있습니다. format_suffix_patterns 내에서 ".포맷" 의 구조로 URL을 선언하고 있기 때문에 그렇습니다. 포맷 인자가 확장자처럼 보이도록 의도한 것이죠.
- /blog/posts/100/ 요청
- /blog/posts/100.json 요청
혹은 /blog/posts/100/ 에 대해서 QueryString으로 /blog/posts/100/?format=json 으로 쓰실 수도 있습니다.
관련 공식문서 : https://www.django-rest-framework.org/api-guide/format-suffixes/
이진석
지식공유자2021.10.25
https://github.com/encode/django-rest-framework/blob/3.12.4/rest_framework/urlpatterns.py#L105
위 소스코드에 정의되어있습니다. :-)
답변 1