¿Es un patrón permitido en Flask modificar la solicitud de datos json antes de las funciones de vista (por ejemplo, en un decorador)? ¿Es posible? Imaginando algo como esto:
from functools import wraps from flask import request, current_app def my_function_decorator(func): @wraps(func) def decorated_function(*args, **kwargs): req = request.get_json() # do something to calculate the new value req["new key"] = "new value" request.set_json(req) return func(*args, **kwargs) return decorated_functionEl propósito es tener datos de latitud y longitud geocodificados de un servicio de terceros, en función de los datos de dirección que se envían a mi servicio. No estoy seguro de si los decoradores son la opción correcta para esto, o si es before_request, o algo más, o nada en absoluto.
Sé que esta es una pregunta muy antigua, pero hay personas que vienen aquí desde Google (como yo). La respuesta sería:
from functools import wraps from flask import Flask from werkzeug.datastructures import ImmutableMultiDict def my_function_decorator(func): @wraps(func) def decorated_function(*args, **kwargs): http_args = request.args.to_dict() http_args ['Shered Data'] = 'Hi!' request.args = ImmutableMultiDict(http_args ) return func(*args, **kwargs) return decorated_function server = Flask(__name__) @server.route('/') @my_function_decorator def index(): #Now, request.args contains your data return 'It works! Shared data: %s' % (request.args.get('Shered Data')) server.run(debug=True)