Django REST Framework -- REST API 报错:403

Posted TonyZhang24

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django REST Framework -- REST API 报错:403相关的知识,希望对你有一定的参考价值。

问题描述

前端同事反馈,调用REST API 的 delete 方法时,返回403 跨域错误。。。

 

问题重现

使用postman模拟前端测试。直接调用接口,返回如下错误:

{
    "detail": "Authentication credentials were not provided."
}

在网上搜罗了一下,发现需要在http header 里面放入X-CSRFToken, 配置如下图所示:

 

 修改配置后,再次调用接口,返回成功!!

 

分析回溯

在确定服务端没有问题后,与前端同事一起review了一下代码,发现使用axios时,delete 和 post 、put 的参数不一样,post、put都有三个参数,分别为url、data还有config,而delete只有两个参数,第一个是url,第二个是config。

修改前端代码后,一切恢复正常~

 

参考

https://blog.csdn.net/qq383366204/article/details/80268007

https://blog.csdn.net/weixin_43336281/article/details/105956109

 

以上是关于Django REST Framework -- REST API 报错:403的主要内容,如果未能解决你的问题,请参考以下文章

怎么安装django rest framework

django rest framework中文介绍

17-Django-Django REST framework-REST framework及RESTful简介

为啥 django-rest-framework 不显示 OneToOneField 数据 - django

Django:rest framework之分页(Pagination)

django使用rest_framework