目前,我正在以下列方式使用DRF 3.7.7和Django-rest-swagger 2.1.2。
SWAGGER_SETTINGS = {
'SECURITY_DEFINITIONS': {
'api_key': {
'type': 'apiKey',
'in': 'header',
'name': 'Authorization'
}
},
# 'LOGIN_URL': getattr(settings, 'LOGIN_URL', None),
# 'LOGOUT_URL': getattr(settings, 'LOGOUT_URL', None),
'DOC_EXPANSION': None,
'APIS_SORTER': None,
'OPERATIONS_SORTER': None,
'JSON_EDITOR': False,
'SHOW_REQUEST_HEADERS': False,
'SUPPORTED_SUBMIT_METHODS': [
'get',
'post',
'put',
'delete',
'patch'
],
'VALIDATOR_URL': '',
}
from rest_framework.schemas import AutoSchema
class RandomClass(APIView):
authentication_classes = (TokenAuthentication, )
permission_classes = (IsAuthenticated, )
schema = AutoSchema(
manual_fields=[
coreapi.Field(
"page_id",
required=True,
location="query",
type="string",
description="Facebook Page ID"
)
]
)
这允许我在某种程度上使用drf-schema在swagger文档中单独呈现每个视图。需要注意的是,由于此视图强制执行身份验证,因此只有在我授权用户(按令牌授权,按照swagger设置安全定义)之后,我才能查看我所有的IsAuthenticated视图。此外,如果单个视图函数有多个方法(get和post),则两者的模式生成是相同的(如果我这样做的话)。 我这里有两个问题。
如果有人可以帮助解决这些问题,或者如果有人发现我的设置和设置有帮助,请发表评论,以便我们讨论我们的选项:)