я пытаюсь создать простой API для получения любого формата данных JSON, но получаю 400 неправильных запросов .. пожалуйста, посмотрите мой код и исправить - PullRequest
0 голосов
/ 29 апреля 2019
    from flask import Flask, abort, request
    import json
    app = Flask(__name__)


    @app.route('/data', methods=['POST'])
    def data():
        if not request.json:
            abort(400)
        print(request.json)
        return json.dumps(request.json)


    if __name__ == '__main__':
        app.run(host='0.0.0.0', port=5001, debug=True)

Я хочу отправить все свои почтовые запросы на другую конечную точку на локальном хосте: 8000 .. Пожалуйста, предложите исправления enter code here

1 Ответ

0 голосов
/ 29 апреля 2019

Я попытался запустить ваш код, он работает нормально, вот мой пример:

Сервер такой же, как ваш.Одно предложение о вашем коде: атрибут .json устарел, вы должны использовать метод request.get_json().

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


    @app.route('/data', methods=['POST'])
    def data():
        if not request.json:
            abort(400)
        print(request.json)
        return json.dumps(request.json)


    if __name__ == '__main__':
        app.run(host='0.0.0.0', port=5001, debug=True)

client:

import requests
res = requests.post('http://localhost:5001/data', json={"mytext":"test"})
if res.ok:
    print(res.json())

Я догадался, что вы не стреляетеправильный HTTP-запрос.Например, вы добавляете атрибут Content-Type: application/json в заголовок http?

...