У меня есть декоратор, который берет словарь и используется для проверки параметров, которые передаются в маршрут Sanic.
@check_parameters({
'contact': {
'type': 'int',
'required': False
},
'name': {
'type': 'string',
'required': False
}
})
Я также использую sanic_openapi для создания документов swagger. Как я могу использовать один и тот же вход для генерации строк @doc.consume()
?
Прямо сейчас мои вызовы функций выглядят следующим образом:
@app.get("/customer/search")
@doc.summary('Search for customer')
@doc.consume(doc.String(name="name"))
@doc.consume(doc.Integer(name="contact"))
@check_parameters({
'contact': {
'type': 'int',
'required': False
},
'name': {
'type': 'string',
'required': False
}
})
async def search_customers(request):
....
Эта конкретная конечная точка действительно имеет несколько полей, по которым вы можете искать, поэтому как consume()
список отдельных декораторов, так и @check_parameters
декоратор тихий долго (и повторяется).
Я хочу устранить большую часть этого повторения. Можно ли как-нибудь сгенерировать строки .consume()
?