使用Swagger UI开发Django REST API时出现“detail”:“未提供认证凭据。”

1 投票
1 回答
746 浏览
提问于 2025-04-18 17:12

我现在在做一个基于Django的项目,主要是在开发REST API。为了记录文档,我使用了Swagger。一切都很顺利,直到今天。今天我尝试为一些接口添加测试用例。为了让测试正常工作,不知道为什么,我需要在设置中把SOUTH_TESTS_MIGRATE = False,并且把allauth.socialaccountINSTALLED_APPS中移除。但这样做之后,当我尝试用Swagger查看API的每个接口时,返回的响应代码是403。

这是返回的响应内容:

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

我尝试修复这个问题的方法是把设置改回去。但还是返回相同的响应代码和内容。

有没有人对这个问题有什么想法?这真的很奇怪,因为把所有设置改回去后应该是可以正常工作的。

1 个回答

0

根据你提供的信息,我猜测你的API视图需要身份验证。你可以在你的 settings.py 文件中给Swagger提供一个API密钥,具体的做法可以参考这里的“配置”部分。

撰写回答