diff --git a/netbox/netbox/settings.py b/netbox/netbox/settings.py index e09fa1683..5be29b67d 100644 --- a/netbox/netbox/settings.py +++ b/netbox/netbox/settings.py @@ -6,6 +6,7 @@ import warnings from django.contrib.messages import constants as messages from django.core.exceptions import ImproperlyConfigured +from django.urls import reverse_lazy # Django 2.1 requires Python 3.5+ if sys.version_info < (3, 5): @@ -330,6 +331,11 @@ SWAGGER_SETTINGS = { 'VALIDATOR_URL': None, 'DEFAULT_INFO': 'netbox.urls.swagger_info', 'DEFAULT_MODEL_DEPTH': 0, + 'SPEC_URL': reverse_lazy('schema_swagger', kwargs={'format': '.yaml'}), +} + +REDOC_SETTINGS = { + 'SPEC_URL': reverse_lazy('schema_swagger', kwargs={'format': '.yaml'}), } diff --git a/netbox/netbox/urls.py b/netbox/netbox/urls.py index efe52061f..78938c230 100644 --- a/netbox/netbox/urls.py +++ b/netbox/netbox/urls.py @@ -55,7 +55,7 @@ _patterns = [ url(r'^api/virtualization/', include('virtualization.api.urls')), url(r'^api/docs/$', schema_view.with_ui('swagger', cache_timeout=600), name='api_docs'), url(r'^api/redoc/$', schema_view.with_ui('redoc', cache_timeout=600), name='api_redocs'), - url(r'^api/swagger(?P.json|.yaml)$', schema_view.without_ui(cache_timeout=600), name='schema_swagger'), + url(r'^api/swagger(?P.yaml)$', schema_view.without_ui(cache_timeout=600), name='schema_swagger'), # Serving static media in Django to pipe it through LoginRequiredMiddleware url(r'^media/(?P.*)$', serve, {'document_root': settings.MEDIA_ROOT}),