Consider:
@api.route('/my-resource/<id>', endpoint='my-resource')
@api.doc(params={'id': 'An ID'})
class MyResource(Resource):
@api.doc(responses={403: 'Not Authorized'})
def post(self, id):
api.abort(403)
Pylint complains:
R0201: POST Method could be a function (no-self-use)"
How can I avoid this Pylint error?
I tried writing a constructor like:
@api.route('/my-resource/<id>', endpoint='my-resource')
@api.doc(params={'id': 'An ID'})
class MyResource(Resource):
def __init__(self):
self.counter = 0
@api.doc(responses={403: 'Not Authorized'})
def post(self, id):
api.abort(403)
But this does not work. It throws Internal server error while calling the API.
Error:
lib/python3.7/site-packages/flask/app.py", line 1813, in full_dispatch_request
rv = self.dispatch_request()
lib/python3.7/site-packages/flask/app.py", line 1799, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
lib/python3.7/site-packages/flask_restplus/api.py", line 319, in wrapper
resp = resource(*args, **kwargs)
/lib/python3.7/site-packages/flask/views.py", line 87, in view
self = view.view_class(*class_args, **class_kwargs)
TypeError: __init__() takes 1 positional argument but 2 were given