Я только начал кодировать в бэкэнде Flask Swagger. Когда я пытался извлечь несколько путей и параметров аргумента, возникала ошибка:
TypeError: get() missing 1 required positional argument: 'q'
Но на самом деле моя функция "get ()" имеет позиционный аргумент 'q'. Я могу спросить, почему возникает эта ошибка? Это может быть странно, так как я использую
request.arg.get('q')
работает хорошо и может возвращать ожидаемый аргумент запроса.
Ожидаемые пути API:
GET 127.0.0.1:8888/book/1?q=question20
и мой код здесь:
from flask import Flask, request
from flask_restplus import Resource, Api
app = Flask(__name__)
api = Api(app)
@api.route("/<string:resource>/<int:rid>")
@api.doc(params={'q': 'Your query here'})
class API(Resource):
def get(self, resource, rid, q):
return {"resource": resource,
"id": rid,
"query": q
}, 200
if __name__ == "__main__":
app.run(host='127.0.0.1', port=8888, debug=True)
Буду признателен, если кто-нибудь поможет мне решить эту проблему.