-
-
Notifications
You must be signed in to change notification settings - Fork 218
Open
Labels
Description
What is the recommended way to automatically generate an OpenAPI schema of the knox API endpoints? Neither the in the Django REST framework integrated schema builder (python manage.py generateschema
) nor drf-spectacular seem to work out of the box.
Django==4.1.4
psycopg2-binary==2.9.5
djangorestframework==3.14.0
django-cors-headers==3.13.0
django-rest-knox==4.2.0
cryptography==38.0.4
markdown==3.4.1
django-filter==22.1
pyyaml==6.0
uritemplate==4.1.1
coreapi==2.3.3
drf-spectacular==0.25.1
generateschema:
/api/login/:
post:
operationId: createLogin
description: ''
parameters: []
requestBody:
content:
application/json:
schema: {}
application/x-www-form-urlencoded:
schema: {}
multipart/form-data:
schema: {}
responses:
'201':
content:
application/json:
schema: {}
description: ''
tags:
- api
/api/logout/:
post:
operationId: createLogout
description: ''
parameters: []
requestBody:
content:
application/json:
schema: {}
application/x-www-form-urlencoded:
schema: {}
multipart/form-data:
schema: {}
responses:
'201':
content:
application/json:
schema: {}
description: ''
tags:
- api
/api/logoutall/:
post:
operationId: createLogoutAll
description: 'Log the user out of all sessions
I.E. deletes all auth tokens for the user'
parameters: []
requestBody:
content:
application/json:
schema: {}
application/x-www-form-urlencoded:
schema: {}
multipart/form-data:
schema: {}
responses:
'201':
content:
application/json:
schema: {}
description: ''
tags:
- api
spectacular
/home/worker/django/api/views.py:8: Error [LoginView]: unable to guess serializer. This is graceful fallback handling for APIViews. Consider using GenericAPIView as view base class, if view is under your control. Either way you may want to add a serializer_class (or method). Ignoring view for now.
/home/worker/django/api/views.py:8: Warning [LoginView]: could not resolve authenticator <class 'knox.auth.TokenAuthentication'>. There was no OpenApiAuthenticationExtension registered for that class. Try creating one by subclassing it. Ignoring for now.
/usr/local/lib/python3.11/site-packages/knox/views.py:70: Error [LogoutView]: unable to guess serializer. This is graceful fallback handling for APIViews. Consider using GenericAPIView as view base class, if view is under your control. Either way you may want to add a serializer_class (or method). Ignoring view for now.
/usr/local/lib/python3.11/site-packages/knox/views.py:70: Warning [LogoutView]: could not resolve authenticator <class 'knox.auth.TokenAuthentication'>. There was no OpenApiAuthenticationExtension registered for that class. Try creating one by subclassing it. Ignoring for now.
/usr/local/lib/python3.11/site-packages/knox/views.py:81: Error [LogoutAllView]: unable to guess serializer. This is graceful fallback handling for APIViews. Consider using GenericAPIView as view base class, if view is under your control. Either way you may want to add a serializer_class (or method). Ignoring view for now.
/usr/local/lib/python3.11/site-packages/knox/views.py:81: Warning [LogoutAllView]: could not resolve authenticator <class 'knox.auth.TokenAuthentication'>. There was no OpenApiAuthenticationExtension registered for that class. Try creating one by subclassing it. Ignoring for now.
...
/api/login/:
post:
operationId: api_login_create
tags:
- api
security:
- {}
responses:
'200':
description: No response body
/api/logout/:
post:
operationId: api_logout_create
tags:
- api
responses:
'200':
description: No response body
/api/logoutall/:
post:
operationId: api_logoutall_create
description: |-
Log the user out of all sessions
I.E. deletes all auth tokens for the user
tags:
- api
responses:
'200':
description: No response body