seminar-2020 icon indicating copy to clipboard operation
seminar-2020 copied to clipboard

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

Open whiteruby02 opened this issue 4 years ago • 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된 걸 사용할 수 있다고 하니 어떤 부분에서 제가 잘못했는지 못찾겠습니다ㅠ

whiteruby02 avatar Oct 01 '20 06:10 whiteruby02

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

eldpswp99 avatar Oct 01 '20 07:10 eldpswp99

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

davin111 avatar Oct 01 '20 07:10 davin111

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

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

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

whiteruby02 avatar Oct 01 '20 09:10 whiteruby02