wafflestudio/seminar-2020

"detail": "Method \"POST\" not allowed."

Opened this issue · 3 comments

과제2의 6번을 하던 중 문제가 생겼는데, 잘 모르겠어서 질문으로 올립니다.
POST /api/v1/user/participant/을 통해 instructor가 participant 등록하는 것인데, url 관련하여 문제가 생겼습니다.
일단 다음과 같이

    @action(methods='post', detail=False, url_path='participant', url_name='participant')
    def participant(self, request):

participant를 등록하는 함수를 만들었는데 url_patn='participant'고 메소드가 포스트로
POST /api/v1/user/participant/를 하면 participant()가 실행될 것이라고 생각했습니다.

하지만 로그인 이후 POST /api/v1/user/participant/를 하면
K-002

이와 같이 "detail": "Method "POST" not allowed."가 뜨면서 405 method not allowed가 뜹니다...

K-003
다음과 같은 자료를 참고해보았을 때 과제에서 쓰인 simplerouter와 /api/v1/user/participant/는 사진의 표의 두번째인,
prefix/url_path라고 생각했습니다. methods 아규먼트로 specify된 걸 사용할 수 있다고 하니 어떤 부분에서 제가 잘못했는지 못찾겠습니다ㅠ

methods=['POST'] 로 해보시겠어요?

#207 과도 관련 있을 수 있으니 참고해보세용

@eldpswp99 @davin111
두분 모두 감사합니다!
한참 헤매다 보니 오타였습니다ㅠㅠㅠㅠ

 @action(methods='post', detail=False, url_path='participant', url_name='participant')

여기서 methods=['post']으로 바꾸어주니 해결되었습니다!