J'ai méthode Flask que workd parfaitement via HTTP:Comment passer des arguments à la méthode webargs directement à partir du code sans appel http?
class PricePerPeriod(Resource):
args = {'period': fields.Int(required=True, validate=lambda val: val > 0),
'duration': fields.Int(required=True, validate=lambda val: val > 0)}
@use_kwargs(args)
def get(self, identifier_id, period, duration):
api.add_resource(PricePerPeriod, '/price/<int:identifier_id>/')
avec des appels comme celui-ci http://localhost:8080/price/21/?period=1&duration=60
Toutefois, si je tente d'appeler cette méthode à partir du code:
price_per_period = PricePerPeriod()
result = price_per_period.get(identifier_id, period, duration)
Echec de la vérification des arguments par webargs.
{"errors": {
"period": [
"Missing data for required field."
]
}}
Je peux seulement supposer que @use_kwargs (args) attend args à remplir, ce qui, dans le cas d'un appel direct est vide que les paramètres sont transmis directement à fonctionner.
Comment puis-je invoquer la méthode décorée avec @use_kwargs(args)
à partir du code et lui transmettre les arguments correctement?
Soudns raisonnable et propre. Merci! – uzla