Add doc decorators on Namespace instantiation flask_restx

666 Views Asked by At

I'm trying to add OpenAPI/Swagger docs to a flask_restx Namespace class.

The documented way of adding docs it's done by adding the doc decorator over a Resource class: @ns.doc(description="my documentation").

In Namespace class there is a decorators parameter which takes a list of decorators and applies them on each resource (they are then called in Api class).

I can't figure out how to add a list of @ns.doc decorators to Namespace

from flask_restx import Namespace, Resource

ns = Namespace(name = "namespace name")

ns.decorators = [
  simple_decorator_works,
  ns_doc_decorator(description="My default documentation on each resource")
]

@ns.route("/")
class MyResource(Resource):
    def get(self):
      return "awesome"

ns_doc_decorator should be able to receive some default parameters

1

There are 1 best solutions below

0
On

A base resource class was needed and the decorator put on that base resource class.


@ns.doc(description="My default documentation on each resource" etc)
class BaseResource(Resource): 
    ...
       
resource = type("resourceName", (BaseResource,), {'get': get_method, 'post': post_method etc})

ns.add_resource(resource)