Как я могу вернуть объекты API в приложение с помощью фляги

from flask import Flask, request, jsonify
import requests

app = Flask(__name__)


@app.route('/address_search', methods=['GET'])
def sample():
    zipcode = request.args.get('zipcode', None)
    url = f'https://zipcloud.ibsnet.co.jp/api/search?zipcode = {zipcode}'
    response = requests.get(url)
    # results = response.json()
    # results = jsonify(response) ?????
    return response

if __name__ == '__main__':
    app.run(debug=True)

Я пытаюсь создать приложение, которое возвращает адрес. Мне удалось вернуть URL-адрес, но насчет ответа я не могу, и появляется Internal Server Error Вот я и подумал во фляге, requests.get(url) нельзя использовать, но другого пути я не придумал. Я слышал, что jsonify() используется, но не знаю как. Я искал его в Google в течение двух дней, но до сих пор не могу найти ответ. Кто-нибудь, пожалуйста, дайте мне совет.

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
0
172
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Итак, вы хотите вернуть ответ этого API в своем веб-приложении, я думаю, это то, что вы ищете?

@app.route('/address_search', methods=['GET'])
def sample():
    zipcode = request.args.get('zipcode', None)
    url = f'https://zipcloud.ibsnet.co.jp/api/search?zipcode = {zipcode}'
    response = requests.get(url)
    response_json = response.json()
    return jsonify(response_json)

РЕДАКТИРОВАТЬ, ответ на ваш комментарий:

Вы не можете сделать jsonify(response_json)['results'][0], потому что jsonify превращает данные JSON в объект Flask Response, вместо этого попробуйте следующее:

@app.route('/address_search', methods=['GET'])
def sample():
    zipcode = request.args.get('zipcode', None)
    url = f'https://zipcloud.ibsnet.co.jp/api/search?zipcode = {zipcode}'
    response = requests.get(url)
    response_json = response.json()
    results = response_json['results'][0]
    return jsonify(results)

Да, да, я думал, что это не сработало, но это сработало, лол. Спасибо, vremes, теперь у меня получилось.

西山功一 10.12.2020 14:45

Опс, столкнулся с другой проблемой. Мне удалось вернуть объект json, но я попытался выбрать детали, например, results = jsonify(response_json)['results'][0], это не сработало. Выскакивает внутренняя ошибка сервера. Как я могу сделать ?

西山功一 10.12.2020 15:32

AHHH, хорошо, так что jsonify() - это объект ответа Flask, а не объект json, вот почему! Спасибо, время

西山功一 10.12.2020 17:16

Пожалуйста, не стесняйтесь отмечать мой ответ как правильный, если ваша проблема была решена.

vremes 10.12.2020 17:35

Другие вопросы по теме

Необязательный параметр вместе с обязательным параметром в маршрутах приложения фляги
Как отображать изображения в Flask, когда src задается функцией?
Ошибка флажковой почты «SMTPServerDisconnected («сначала запустите connect()»)»
Python, Flask — как сделать интерактивные ссылки в папке шаблонов и перенаправить на другую страницу?
Flask хранит и подсчитывает количество просмотров
Проблема с подкаталогом при создании файловой системы в памяти для веб-приложения Flask
Запуск потребителей Kafka, которые взаимодействуют с приложением Flask
Веб-API Flask не распознает файлы изображений, отправленные через AJAX
Запросы завершаются неудачно, если они направлены на URL-адрес службы, но не на URL-адрес версии
Учитывая перенаправление URL-адресов: как использовать графические интерфейсы веб-приложений, работающих в разных контейнерах в одной сети докеров на удаленном сервере?