DEV Community

Gahyun Son
Gahyun Son

Posted on

Customize Schema with @extend_schema_view

The @extend_schema_view decorator doesn't affect the view logic works. It only customizes the API documentation.

You can see the result on /api/docs/.

Image description

You can search the specific data through this function.

The code is

@extend_schema_view( list=extend_schema( parameters=[ OpenApiParameter( 'tags', OpenApiTypes.STR, description='Comma separated list of IDs to filter', ), OpenApiParameter( 'ingredients', OpenApiTypes.STR, description='Comma separated list of ingredient IDs to filter', ) ] ) ) class ... 
Enter fullscreen mode Exit fullscreen mode
  • @extend_schema_view: This decorator allows to Extend the auto generate schema that's created by Django Rest Framework Spectacular.
  • list=extend_schema: Extend the schema for the list endpoint.
  • parameters: It can be pass into the request that made to the list API for this view.
  • OpenApiParameter: Parameter class provided DRF spectacular. It allows us to specify the details of a parameter that can be accepted in the API request.
  • First parameter 'tags': Specifying the name of the parameter to filter.
  • OpenApiTypes.STR: The type is a String.
  • description: Help to user.

Top comments (0)