У меня установлен базовый API Python Flask, который не принимает идентификатор в качестве параметра для запроса GET. Внутри логики запроса get я выполняю запрос get на другом ресурсе для получения изображения, связанного с идентификатором, который был передан в:
image = requests.get(url = image_url)
image = Image.open(BytesIO(image.content))
print(image.format)
Формат изображения, который возвращается в JPEG
.
Я хочу добавить это как часть ответа моего API. Это определение моей конечной точки GET:
@app.route('/getmsg/', methods=['GET'])
def respond():
Вот как я пытаюсь вернуть изображение, полученное с другого ресурса:
return {"image": send_file(image, mimetype='image/jpeg'), "data": jsonify(return_list)}
Я уже пытался следовать этомуStackOverflow вопрос: Как вернуть изображения в ответ колбу?
Вот как я попал туда, где я сейчас нахожусь. Я делаю запрос на получение через эту конечную точку: http://localhost:5000/getmsg/?id=7187167507933759112
.
Я также пытался вернуть только изображение, например, так:
return send_file(image, mimetype='image/jpeg')
Но это выдает мне ту же ошибку.
Все работает, кроме возврата изображения.
Я ожидаю, что смогу увидеть изображение в ответе на запрос get, но сейчас оно выдает внутреннюю ошибку сервера 500.
Это ответ, который я получаю в терминале:
TypeError: <Response 693 bytes [200 OK]> is not JSON serializable
Будем весьма благодарны за любые указания относительно того, что я делаю неправильно. Спасибо.