As described by core-api/python-openapi-codec#28, the "name" field of the generated Swagger JSON is currently hard-coded to "data". When using swagger-codegen, the generated models are labeled \<Data*> which breaks the reusability of the generated SDKs.
The proposed solution allows a user to set a "title" property on a view (or viewset) which is then used to generate the "name" field in this format: \<Title>\<Action>Params.
For example, the "post" action of the following viewset will be given a name of "CommentPostParams" instead of "data".
class CommentViewSet(viewsets.ModelViewSet):
queryset = Comment.objects.all()
serializer_class = CommentSerializer
title = "comment"
This pull request has an associated pull request at encode/django-rest-framework#5275, both of which act to drive further discussion on core-api/python-openapi-codec#28.
Assuming views and viewsets are named \<ViewName>View and \<ViewSetName>ViewSet, it would also be possible to extract the view name automatically with a small code change.
Related issue: marcgibbons/django-rest-swagger#595
As described by core-api/python-openapi-codec#28, the "name" field of the generated Swagger JSON is currently hard-coded to "data". When using swagger-codegen, the generated models are labeled \<Data*> which breaks the reusability of the generated SDKs.
The proposed solution allows a user to set a "title" property on a view (or viewset) which is then used to generate the "name" field in this format: \<Title>\<Action>Params.
For example, the "post" action of the following viewset will be given a name of "CommentPostParams" instead of "data".
This pull request has an associated pull request at encode/django-rest-framework#5275, both of which act to drive further discussion on core-api/python-openapi-codec#28.
Assuming views and viewsets are named \<ViewName>View and \<ViewSetName>ViewSet, it would also be possible to extract the view name automatically with a small code change.
Related issue: marcgibbons/django-rest-swagger#595