Возврат бланка из API фляги Python - PullRequest
0 голосов
/ 05 декабря 2018

У меня есть API, который должен возвращать только пустое значение и статус 200 OK, если нет доступных данных

Я попытался выполнить следующие действия и столкнулся с этой ошибкой

if df.empty:
   return '' , 200

Это возвращает"" в браузере

if df.empty:
   return json.loads('{}'), 200

Этот возврат {} в браузере

Статус отправки как 204 (НЕТ КОНТЕНТА) делает предыдущее содержимое таким же, как в браузере

Как вернуть полный бланк со статусом 200?

Ответы [ 2 ]

0 голосов
/ 07 декабря 2018

Я нашел решение после тщательного изучения документов Flask

from flask import Response
.....
if df.empty:
   return Response(status = 200)
0 голосов
/ 05 декабря 2018

Ваш первый пример показан в моей консоли, как другие упоминают в комментариях:

127.0.0.1 - - [05 / Dec / 2018 18:46:35] "GET / HTTP / 1.1"200 -

Вы также можете видеть статус документа на вкладке Network в консоли разработчика.

Я не видел 204 - NO CONTENT, пока не определил его явно:

@app.route('/')
def index():
    return '', 204

Ваш второй пример не работал для меня и дал мне ошибку:

TypeError: объект 'dict' не вызывается

РЕДАКТИРОВАТЬ:

Это источник страницы в опере (и Chrome также).

Page source

И это код для вашегоВторой пример: я получаю сообщение об ошибке.

from flask import Flask, json

app = Flask(__name__)


@app.route('/')
def index():
    return json.loads('{}'), 200
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...