Upgrade swagger v1 for pike 50/70450/1
authorHuang Haibin <haibin.huang@intel.com>
Mon, 15 Oct 2018 08:00:02 +0000 (16:00 +0800)
committerHuang Haibin <haibin.huang@intel.com>
Mon, 15 Oct 2018 08:00:02 +0000 (16:00 +0800)
Change-Id: Ia925c22e1a1516de54875c1a2386ae73ed7843f6
Issue-ID: MULTICLOUD-377
Signed-off-by: Huang Haibin <haibin.huang@intel.com>
pike/pike/swagger/urls.py
pike/pike/swagger/views.py

index c06f7b4..60771f4 100644 (file)
@@ -16,9 +16,11 @@ from django.conf.urls import patterns, url
 from rest_framework.urlpatterns import format_suffix_patterns
 
 from pike.swagger.views import SwaggerJsonView
+from pike.swagger.views import APIv1SwaggerJsonView
 
 urlpatterns = [
     url(r'^api/multicloud-pike/v0/swagger.json$', SwaggerJsonView.as_view()),
+    url(r'^api/multicloud-pike/v1/swagger.json$', APIv1SwaggerJsonView.as_view()),
 ]
 
 urlpatterns = format_suffix_patterns(urlpatterns)
index ddf3473..92c6a70 100644 (file)
@@ -45,4 +45,20 @@ class SwaggerJsonView(newton_json_view.SwaggerJsonView):
         else:
             return Response(data={'error':'internal error'}, status=500)
 
+class APIv1SwaggerJsonView(newton_json_view.SwaggerJsonView):
 
+    def get(self, request):
+        '''
+        reuse newton code and update the basePath
+        :param request:
+        :return:
+        '''
+
+        resp = super(APIv1SwaggerJsonView,self).get(request)
+        json_data = resp.data if resp else None
+        if json_data:
+            json_data["basePath"] = "/api/multicloud-pike/v1/"
+            json_data["info"]["title"] = "Service NBI v1 of MultiCloud plugin for Pike"
+            return Response(data=json_data, status=200)
+        else:
+            return Response(data={'error':'internal error'}, status=500)