簡體   English   中英

如何使用 flask 在應用程序中返回 API 對象

[英]How can I return API objects in application using flask

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所以我想在 flask 中, requests.get(url)不能使用,但我沒有想出另一種方法。 我聽說使用了jsonify()但我不知道如何。 我在谷歌搜索了兩天,但我仍然找不到它的答案。 有人請給我建議。

所以,你想在你的 web 應用程序中返回 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 ZA8CFDE6331BD59EB2AC96F8911C4B666

@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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM