10

How do I process a long GET request with Flask? Is is possible to get a dictionary all the params?

Here is the query string I'm trying to parse:

/?msisdn=19150000001&to=12108054321&messageId=000000FFFB0356D1&text=This+is+an+inbound+message &type=text&message-timestamp=2012-08-19+20%3A38%3A23

And Here is the code I have to far which only gets the 'msisdn' value:

import os
from flask import Flask
from flask import request
from flask import jsonify

app = Flask(__name__)

@app.route('/', methods=['GET'])
    def hello():
        if request.method == 'GET':
            json = request.args.getlist('msisdn')
            return str(json)
        else:
            return 'Hello World!'
user12871
  • 335
  • 1
  • 3
  • 8

2 Answers2

25

if you want to convert the query string (MultiDict to normal dict)

from flask import Flask, jsonify, request

app = Flask(__name__)

@app.route("/")
def hello():
    all_args = request.args.to_dict()
    return jsonify(all_args)
paritosh mishra
  • 295
  • 1
  • 4
  • 3
11

Yes. request.args is a MultiDict:

from flask import Flask, jsonify, request

app = Flask(__name__)

@app.route("/")
def hello():
    all_args = request.args.lists()
    return jsonify(all_args)
Sean Vieira
  • 155,703
  • 32
  • 311
  • 293