Возврат бланка из API фляги Python

1

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

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

if df.empty:
   return '' , 200

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

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

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

Статус отправки 204 (NO CONTENT) делает предыдущий контент таким, как он есть в браузере

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

  • 0
    Вы должны просто return (' ', 200) , он даст пустой ответ с кодом состояния 200.
  • 1
    Ваш первый пример просто возвращает пустую строку для меня в браузере, это именно то, что вы хотите, я думаю.
Показать ещё 2 комментария
Теги:
flask

2 ответа

0
Лучший ответ

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

from flask import Response
.....
if df.empty:
   return Response(status = 200)
0

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

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' не может быть вызван

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

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

Изображение 174551

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

from flask import Flask, json

app = Flask(__name__)


@app.route('/')
def index():
    return json.loads('{}'), 200
  • 1
    Проблема, с которой я сталкиваюсь, возвращает пустое значение в браузер, отправляя пустую строку "" в браузере. Для моего второго примера он работал правильно, без каких-либо ошибок, не могли бы вы поделиться своим фрагментом кода.
  • 0
    Я не хочу добавлять пустой экран в качестве примера, но я буквально ничего не получаю. Только белый экран, как в опере, так и в хроме. И если я проверю исходный код, он ничего не содержит. Проверьте редактировать для этого.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню