Flask Client не получает ответ - PullRequest
0 голосов
/ 17 марта 2019

Я пытаюсь получить данные с сервера через клиента, используя идентификатор задачи запросы. Пост случайный идентификатор

вот сервер

from json import dumps
from werkzeug.exceptions import BadRequest
from flask import (
        Flask,
        Response,
        request
    )


from utils import get_random_id


    app = Flask(__name__)

    tasks = {
        get_random_id(): {
            "task": "write server mock",
            "completed": True
        }
        #print(get_random_id())
    }

    @app.route(
        '/tasks',
        methods=['GET']
    )
    def list_tasks():
        li = [
            {
                "id": task_id,
                "task": values["task"],
                "completed": values["completed"]
            } for task_id, values in tasks.iteritems()
        ]
        #print(li)
        return Response(
            dumps(li),
            mimetype='application/json'
        )

if __name__ == "__main__":
    pass

вот клиент:

from flask import Flask,request
#importing server file that i made
import server

app = Flask(__name__)
app.testing = True


@app.route('/')
def index():
    return request.url


response = app.test_client(server)

print(response)

Я хочу получить сообщения в моем файле python, и все, что мне удается сгенерировать, это ответ клиента

Как мне получить таблицу?Я использую конечные точки API?

Пожалуйста, помогите мне исправить эту ошибку

Ответы [ 2 ]

0 голосов
/ 17 марта 2019

test_client метод создаст клиента для вас.И затем вы должны использовать этот клиент для запроса вашего сервера (POST или GET или что-то еще).Таким образом, вы можете использовать что-то вроде следующего:

with server.test_client() as c:
    resp = c.get('/tasks')
    data = json.loads(resp.data)
    print(data)
0 голосов
/ 17 марта 2019

Вам нужно использовать некоторую библиотеку HTTP для отправки запроса.Попробуйте http://docs.python -requests.org / ru / master /

Пример:

import requests
r = requests.get('{your server url}/tasks')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...