Page MenuHomeSoftware Heritage
Paste P443

swh-web generate schema
ActivePublic

Authored by vlorentz on Jun 20 2019, 1:37 PM.
diff --git a/swh/web/api/urls.py b/swh/web/api/urls.py
index afbcaf44..4267c73d 100644
--- a/swh/web/api/urls.py
+++ b/swh/web/api/urls.py
@@ -15,6 +15,25 @@ import swh.web.api.views.snapshot # noqa
import swh.web.api.views.stat # noqa
import swh.web.api.views.vault # noqa
+from django.conf.urls import url
from swh.web.api.apiurls import APIUrls
urlpatterns = APIUrls.get_url_patterns()
+
+from rest_framework.decorators import api_view, renderer_classes
+from rest_framework import renderers, response, schemas
+
+class SchemaGenerator(schemas.SchemaGenerator):
+ def get_links(self, request=None):
+ links = super().get_links(request)
+ return links['1'] # uses /api/1/ as prefix instead of just /api/
+
+generator = SchemaGenerator(title='Bookings API', patterns=urlpatterns)
+
+@api_view()
+@renderer_classes([renderers.OpenAPIRenderer])
+def schema_view(request):
+ schema = generator.get_schema(request)
+ return response.Response(schema)
+
+urlpatterns += [url('1/schema/', schema_view)]

Event Timeline

vlorentz changed the title of this paste from swh-web schema to swh-web generate schema.