在我的api中,默认的permmision类是'rest_framework.permissions.IsAuthenticated',django swagger没有显示任何URL的文档。
我的REST_FRAMEWORK设置是:
REST_FRAMEWORK = {
'DEFAULT_PERMISSION_CLASSES': ('rest_framework.permissions.IsAuthenticated',),
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework.authentication.TokenAuthentication',
)
}
我swagger_settings是:
SWAGGER_SETTINGS = {
'USE_SESSION_AUTH': False,
'SECURITY_DEFINITIONS': {
'api_key': {
'type': 'apiKey',
'in': 'header',
'name': 'Authorization'
}
},
那么我如何在 django swagger 中显示经过身份验证的端点。
这个话题实际上在 GitHub 上引起了很大的讨论。您似乎正在尝试访问IsAuthenticated
为权限类的视图,如果您尚未进行身份验证,则可能禁止这些视图。
您只需在 DRF 设置中添加rest_framework.authentication.SessionAuthentication
,即可通过 Swagger 访问这些端点:
REST_FRAMEWORK = {
'DEFAULT_PERMISSION_CLASSES': ('rest_framework.permissions.IsAuthenticated',),
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework.authentication.TokenAuthentication',
'rest_framework.authentication.SessionAuthentication
)
}