[PYTHON] Obtenir un booléen avec une requête Flask

environnement

Première SOURCE

API qui reçoit et retourne uniquement le type booléen ʻis_hoge` dans la requête

hoge.py


from flask import Flask, request
app = Flask(__name__)

@app.route("/", methods=['GET'])
def hello():
    is_hoge = request.args.get('is_hoge', type=bool)
    return f'{ is_hoge }'

if __name__ == "__main__":
    app.run()

Valeur attendue

--Si vous envoyez true, True --Si vous envoyez false, False --Si vous envoyez 0, False

Résultat d'exécution

--Si vous envoyez vrai スクリーンショット 2019-11-19 15.21.06.png --Si vous envoyez faux スクリーンショット 2019-11-19 15.21.31.png --Si vous envoyez 0 スクリーンショット 2019-11-19 15.21.55.png

Que voulez-vous dire? En conséquence de tout, «True» est renvoyé. En ce qui concerne le papier des nouveaux arrivants, je pense que tout a été pris comme une chaîne de caractères et «True» a été renvoyé.

Je veux pouvoir l'utiliser comme un booléen d'une manière ou d'une autre

Il semble que python a une fonction pratique appelée strtobool (), et je vais l'utiliser.

converter.py


from distutils.util import strtobool

def convert_to_bool(target_object, default_val):
    if target_object is None:
        return default_val
    try:
        return strtobool(target_object)
    except:
        return default_val

Lorsque la valeur introduite en tant qu'argument est «None» ou lorsqu'une exception se produit, «default_val» est renvoyé.

hoge.py


    is_hoge = converter.convert_to_bool(request.args.get('is_hoge'), False)

Courez à nouveau

--Si vous envoyez vrai スクリーンショット 2019-11-19 15.50.35.png

--Si vous envoyez faux スクリーンショット 2019-11-19 15.50.21.png

--Si vous envoyez 0 スクリーンショット 2019-11-19 15.48.14.png

Les 0 et 1 sont maintenant renvoyés. S'il s'agit d'un jugement de la valeur de vérité d'une valeur numérique, 0 est faux, et autre que 0 est vrai, donc je pense qu'il n'y a pas de problème!

Épilogue

Ceci est mon premier message, donc je vous serais reconnaissant si vous pouviez me faire savoir s'il y a des points qui ne peuvent pas être atteints.

Recommended Posts

Obtenir un booléen avec une requête Flask
J'obtiens une KeyError dans pyclustering.xmeans
Comment obtenir stacktrace en python
Obtenez un jeton pour conoha avec python
[Python] Récupérez les fichiers dans le dossier avec Python
Quand j'obtiens une erreur de pilote chrome dans Selenium
Récupérer l'appelant d'une fonction en Python
Obtenir uniquement les éléments de sous-classe dans une liste
Touchons une partie de l'apprentissage automatique avec Python
Obtenir des lignes contenant des éléments spécifiques dans np.where
Obtenir le nom de fichier dans un dossier à l'aide de glob
Requête HTTP en Python
J'obtiens une exception java.util.regex.PatternSyntaxException lors du fractionnement d'une chaîne dans PySpark
Tutoriel Flask # 1 ~ GET Request ~
dict in dict Transforme un dict en dict
BigQuery - Si vous obtenez une erreur Reason: responseTooLarge en Python
Obtenez l'ID utilisateur et le nom d'écran du participant dans Slack
Développer une bibliothèque pour obtenir la liste des collections Kindle en Python
J'ai essayé "Comment obtenir une méthode décorée en Python"
Comment obtenir la dernière (dernière) valeur d'une liste en Python
Comment obtenir une liste d'exceptions intégrées pour python
J'ai écrit un script pour obtenir un site populaire au Japon
Appelez l'API github en python pour obtenir des informations sur la demande d'extraction
Requête HTTP en Python
Méthodes d'objet chaîne en Python
Méthodes disponibles dans la liste
Méthodes disponibles dans le type d'ensemble
Appeler dynamiquement des méthodes en Python
Définir dynamiquement des fonctions (méthodes) en Python
Obtenir un booléen avec une requête Flask
Obtenez des commentaires YouTube en Python
Prendre une capture d'écran en Python
Créer un dictionnaire en Python
Obtenez le mois dernier en Python
Créer un bookmarklet en Python
Dessinez un cœur en Python
Obtenez des notes Evernote en Python
Obtenez des synonymes japonais avec Python
Essayez d'obtenir la liste des fils du bulletin d'information (je n'aime pas) avec Python.
Comment obtenir toutes les valeurs possibles dans une expression régulière
Que faire si vous obtenez moins zéro en Python
Comment obtenir une chaîne à partir d'un argument de ligne de commande en python
Comment obtenir les coordonnées de sommet d'une entité dans ArcPy
Créez une fonction pour obtenir le contenu de la base de données dans Go
Obtenez la formule dans le fichier Excel sous forme de chaîne en Python
Obtenez le nombre de lecteurs d'articles sur Mendeley en Python