Flacon Reposant POST JSON échoue
J'ai un problème d'affichage JSON via curl à partir de cmd (Windows7) à Gourde Reposant.
C'est ce que je poste:
curl.exe -i -H "Content-Type: application/json" \
-H "Accept: application/json" -X POST \
-d '{"Hello":"Karl"}' http://example.net:5000/
Il en résulte une mauvaise demande, aussi je ne sais pas comment faire pour déboguer ce, normalement, j'aurais l'impression de sortir d'informations à la console, mais cela ne fonctionne pas. Comment déboguer wsgi apps? Semble comme une tâche sans espoir...
C'est mon simple application de test comme vu sur le net:
from flask import Flask, request
from flask.ext.restful import Resource, Api
app = Flask(__name__)
api = Api(app)
class Test(Resource):
def post(self):
#printing request.data works
json_data = request.get_json(force=True) # this issues Bad request
# request.json also does not work
return {}
api.add_resource(Test, '/')
if __name__ == '__main__':
app.run(debug=True)
OriginalL'auteur neonbarbarian | 2014-03-08
Vous devez vous connecter pour publier un commentaire.
-d '{"Hello":"Karl"}'
ne fonctionne pas à partir de windows comme ses entourée par des guillemets simples. Utiliser des guillemets autour et il va travailler pour vous.OriginalL'auteur Sabuj Hassan
Je veux juste faire remarquer que vous avez besoin pour échapper indépendamment de l'OS - et peu importe si vous avez des guillemets autour de la demande de données - j'ai vu ce post et n'ai pas pensé que c'était la réponse à ma question, car j'ai eu des guillemets autour de la demande de données et les guillemets à l'intérieur:
Cela ne fonctionne pas:
Ce sera:
Encore une fois, vous avez besoin d'échapper les guillemets indépendamment de l'OS (je suis sur Mac), et ce indépendamment de savoir si vous avez des guillemets simples ou doubles
Et merci Sabuj Hassan pour votre réponse!
OriginalL'auteur PrincessPea
À ajouter aux deux précédentes réponses, vous n'avez pas besoin d'échapper les guillemets dans tous les OS, à la suite de cette syntaxe fonctionne très bien sur Mac/Linux:
OriginalL'auteur Airswoop1