diff options
author | 2018-01-22 20:02:58 +0800 | |
---|---|---|
committer | 2018-01-23 08:28:39 +0800 | |
commit | a252316231bcf6c9f5669084a1b8e838dd46846f (patch) | |
tree | 131de17923789babfbd11ade9389281159733f2e | |
parent | 092c270a59ae407b9d815ecfc770c6075cd38a28 (diff) |
Add swagger auto generate logic for vfc
Change-Id: I7e5e5a0213274aa0a052bd30efe19ccf7fe0d6f4
Issue-ID: VFC-671
Signed-off-by: fujinhua <fu.jinhua@zte.com.cn>
-rw-r--r-- | lcm/swagger/urls.py | 12 | ||||
-rw-r--r-- | lcm/swagger/views.py | 9 |
2 files changed, 17 insertions, 4 deletions
diff --git a/lcm/swagger/urls.py b/lcm/swagger/urls.py index 0fe8269f..cb10cad6 100644 --- a/lcm/swagger/urls.py +++ b/lcm/swagger/urls.py @@ -12,12 +12,16 @@ # See the License for the specific language governing permissions and # limitations under the License. from django.conf.urls import url -from rest_framework.urlpatterns import format_suffix_patterns +from lcm.swagger.views import SchemaView from lcm.swagger.views import SwaggerJsonView urlpatterns = [ - url(r'^api/nslcm/v1/swagger.json$', SwaggerJsonView.as_view()) + url(r'^api/nslcm/v1/swagger.json$', SwaggerJsonView.as_view()), + url(r'^swagger(?P<format>.json|.yaml)$', SchemaView.without_ui(cache_timeout=0), name='schema-json'), + url(r'^swagger/$', SchemaView.with_ui('swagger', cache_timeout=0), name='schema-swagger-ui'), + url(r'^redoc/$', SchemaView.with_ui('redoc', cache_timeout=0), name='schema-redoc'), + url(r'^cached/swagger(?P<format>.json|.yaml)$', SchemaView.without_ui(cache_timeout=None), name='cschema-json'), + url(r'^cached/swagger/$', SchemaView.with_ui('swagger', cache_timeout=None), name='cschema-swagger-ui'), + url(r'^cached/redoc/$', SchemaView.with_ui('redoc', cache_timeout=None), name='cschema-redoc'), ] - -urlpatterns = format_suffix_patterns(urlpatterns) diff --git a/lcm/swagger/views.py b/lcm/swagger/views.py index e78ecead..5f087f8c 100644 --- a/lcm/swagger/views.py +++ b/lcm/swagger/views.py @@ -17,10 +17,19 @@ import os from rest_framework.response import Response from rest_framework.views import APIView +from rest_framework import permissions +from drf_yasg.views import get_schema_view logger = logging.getLogger(__name__) +SchemaView = get_schema_view( + validators=['ssv', 'flex'], + public=True, + permission_classes=(permissions.AllowAny,), +) + + class SwaggerJsonView(APIView): def get(self, request): |