前提・実現したいこと
Django REST framework で API を作成していて、
スマホアプリからPOST,DELETEなどのアクションをできるようにしています
(Alamofire 使用)
発生している問題・エラーメッセージ
POST や DELETE をするときには Token Authentication を header に追加して認証をするようにしているのですが
DELETE の時だけ
["detail": Authentication credentials were not provided.]
というエラーが発生しています。(POST は問題なくできる)
該当のソースコード
swift
1let url = (任意のURL) 2let headers: HTTPHeaders = [ 3 "Contenttype": "application/json", 4 "Authorization": "Token (トークン)", 5] 6Alamofire.request(url, method: .delete, parameters: nil, encoding: JSONEncoding.default, headers: headers).responseJSON { response in 7 if let result = response.result.value as? [String: Any] { 8 print(result) 9 } 10}
サーバー側のコードはこのようになっています。
認証はデフォルトの'rest_framework.authtoken'を使用しています
python
1class PostViewSet(viewsets.ModelViewSet): 2 queryset = Post.objects.order_by('-published_date') 3 permission_classes = (IsAuthenticated,IsAdmin,) 4 serializer_class = PostSerializer 5 filter_backends = [DjangoFilterBackend] 6 7 @method_decorator(csrf_exempt) 8 def dispatch(self, *args, **kwargs): 9 return super(PostViewSet2, self).dispatch(*args, **kwargs)
試したこと
POST と同じ Header をつけてるのでうまくいかない理由がわかりません。
###使用環境
macOS Catalina
Django 2.2.9
Python 3
Django Restframework
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。