Estoy configurando una API de descanso simple usando matraz y matraz-restful. En este momento, todo lo que estoy tratando de hacer es crear una solicitud de publicación con algunos datos de Json y luego devolverla solo para ver si funciona. Siempre recibo el mismo "message": "Failed to decode JSON object: Expecting value: line 1 column 1 (char 0)"
A continuación se muestra mi código
from flask import Flask, jsonify, request from flask_restful import Resource, Api app = Flask(__name__) api = Api(app) class Tester(Resource): def get(self): return {'about': 'Hello World'} def post(self): data_json = request.get_json(force=True) return {'you sent': data_json} api.add_resource(Tester, '/') if __name__ == '__main__': app.run(debug=True)La solicitud de curl que estoy haciendo para probar esto está a continuación, también intenté hacer una solicitud usando cartero
curl -H "Content-Type: application/json" -X POST -d '{'username':"abc",'password':"abc"}' http://localhost:5000La solicitud curl (carga útil) es incorrecta. Utilice comillas dobles en la carga útil.
curl -H "Content-Type: application/json" -X POST -d '{"username":"abc","password":"abc"}' http://localhost:5000Debe seleccionar raw -> JSON (aplicación/json) en Postman de esta manera:
Cuando se trata de su solicitud cURL, la respuesta explica que la línea de comando de Windows no admite cadenas con comillas simples, así que use:
curl -i -H "Content-Type: application/json" -X POST -d "{\"username\":\"abc\", \"password\":\"abc\"}" 127.0.0.1:5000en lugar de:
curl -H "Content-Type: application/json" -X POST -d '{'username':"abc",'password':"abc"}' http://localhost:5000 \ escapa al carácter " .