From f0fa5f7169c815108f5fd359b4c2bde47c7ef1de Mon Sep 17 00:00:00 2001 From: Ned Batchelder Date: Fri, 7 Jun 2019 13:57:06 -0400 Subject: [PATCH] Enable Studio API docs in devstack --- cms/envs/common.py | 2 +- cms/envs/devstack.py | 4 ++++ cms/urls.py | 6 ++++-- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/cms/envs/common.py b/cms/envs/common.py index 39478d627e..be50ede84b 100644 --- a/cms/envs/common.py +++ b/cms/envs/common.py @@ -1173,7 +1173,7 @@ INSTALLED_APPS = [ 'pipeline_mako', # API Documentation - 'rest_framework_swagger', + 'drf_yasg', 'openedx.features.course_duration_limits', 'openedx.features.content_type_gating', diff --git a/cms/envs/devstack.py b/cms/envs/devstack.py index edc70d1c75..1222a2a21a 100644 --- a/cms/envs/devstack.py +++ b/cms/envs/devstack.py @@ -108,6 +108,10 @@ def should_show_debug_toolbar(request): DEBUG_TOOLBAR_MONGO_STACKTRACES = False +########################### API DOCS ################################# + +FEATURES['ENABLE_API_DOCS'] = True + ################################ MILESTONES ################################ FEATURES['MILESTONES_APP'] = True diff --git a/cms/urls.py b/cms/urls.py index 04edae7027..251aea690d 100644 --- a/cms/urls.py +++ b/cms/urls.py @@ -3,7 +3,7 @@ from django.conf.urls import include, url from django.conf.urls.static import static from django.contrib.admin import autodiscover as django_autodiscover from django.utils.translation import ugettext_lazy as _ -from rest_framework_swagger.views import get_swagger_view +from openedx.core.openapi import schema_view import contentstore.views from cms.djangoapps.contentstore.views.organization import OrganizationListView @@ -266,7 +266,9 @@ urlpatterns += [ if settings.FEATURES.get('ENABLE_API_DOCS'): urlpatterns += [ - url(r'^api-docs/$', get_swagger_view(title='Studio API')), + url(r'^swagger(?P\.json|\.yaml)$', schema_view.without_ui(cache_timeout=0), name='schema-json'), + url(r'^swagger/$', schema_view.with_ui('swagger', cache_timeout=0), name='schema-swagger-ui'), + url(r'^api-docs/$', schema_view.with_ui('swagger', cache_timeout=0)), ] from openedx.core.djangoapps.plugins import constants as plugin_constants, plugin_urls