Created
September 5, 2021 16:06
-
-
Save ciscoinfo/96fa8ab10947bd927dfac557ebb5009e to your computer and use it in GitHub Desktop.
attached files for my article : Flask (Python) : lire une requête GET
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| from my_app import app | |
| if __name__ == "__main__": | |
| app.run() |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import requests | |
| from pprint import pprint | |
| BASE_URL = "http://127.0.0.1:5000/" | |
| string = "alex" | |
| integer = 20 | |
| QUERY = f"?name={string}&age={integer}" | |
| def get_1(): | |
| print("\n------- get_1_request.query_string -------") | |
| url = f"{BASE_URL}/get/1{QUERY}" | |
| print(f"{url=}") | |
| response = requests.get(url) | |
| pprint(response.json()) | |
| def get_2(): | |
| print("\n------- request.args -------") | |
| url = f"{BASE_URL}/get/2{QUERY}" | |
| print(f"{url=}") | |
| response = requests.get(url) | |
| pprint(response.json()) | |
| def get_3(): | |
| print("\n------- request.args + parsing -------") | |
| url = f"{BASE_URL}/get/3{QUERY}" | |
| print(f"{url=}") | |
| response = requests.get(url) | |
| pprint(response.json()) | |
| def get_3_default(): | |
| print("\n------- request.args + parsing with default value -------") | |
| url = f"{BASE_URL}/get/3?age={integer}" | |
| print(f"{url=}") | |
| response = requests.get(url) | |
| pprint(response.json()) | |
| def get_3_string(): | |
| print("\n------- parameter name -------") | |
| url = f"{BASE_URL}/get/3/{string}" | |
| print(f"{url=}") | |
| response = requests.get(url) | |
| pprint(response.json()) | |
| def get_3_integer(): | |
| print("\n------- parameter age -------") | |
| url = f"{BASE_URL}/get/3/{integer}" | |
| print(f"{url=}") | |
| response = requests.get(url) | |
| pprint(response.json()) | |
| if __name__ == "__main__": | |
| get_1() | |
| input() | |
| get_2() | |
| input() | |
| get_3() | |
| input() | |
| get_3_default() | |
| input() | |
| get_3_string() | |
| input() | |
| get_3_integer() |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # from flask import jsonify | |
| from my_app import app | |
| from flask import request | |
| # Note that : | |
| # | |
| # app.route has the default parameter methods=["GET"] | |
| # Then : @app.route("/get") is equivalent as : @app.route("/get", methods=["GET"]) | |
| # | |
| # Flask builds the response, wrapping dict with flask.jsonify() and adding the status code 200 | |
| # Then : return {key: value} is equivalent as : return jsonify({key: value}), 200 | |
| # query_string | |
| @app.route("/get/1") | |
| def get_1(): | |
| result = request.query_string.decode('UTF-8') | |
| return {"result": result} | |
| # request.args | |
| @app.route("/get/2") | |
| def get_2(): | |
| return request.args | |
| # parse args | |
| @app.route("/get/3") | |
| def get_3(): | |
| name = request.args.get("name", default="default name", type=str) | |
| age = request.args.get("age", default=50, type=int) | |
| return {"name": name, "age": age} | |
| # string parameter | |
| @app.route("/get/3/<string:name>") | |
| def get_4(name): | |
| return {"name": name, "type": str(type(name))} | |
| # int parameter | |
| @app.route("/get/3/<int:age>") | |
| def get_5(age): | |
| return {"age": age, "type": str(type(age))} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment