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

 

posted @ 2021-05-12 10:06  TonyZhang24  阅读(500)  评论(0编辑  收藏  举报