【Flask超入門】その2:jsonifyで超簡単にREST APIをビルドする
前回のFlaskの記事から2年近く開いてしまいました脳筋ニシキです。

その記事の終わり際に、
次回はもっとhtmlを書いて、それっぽい形にしていきましょう!
とかぬかしつつ、この2年の間フロントエンドはReactで書き、Flaskは基本フロントエンドから叩かれた時にapiを返すバックエンドとして使用してきました。
なので今回は予定を変更して、Flaskで超簡単にREST APIをビルドする方法をここに書き残していこうと思います!
では早速参ります。
前回のおさらい
#flask_project.py from flask import Flask app = Flask(__name__) @app.route("/") def hello(): return "<h1>Hello World!!</h1>" if __name__ == '__main__': app.run(debug=True)
でこのfileをrunすると
速攻でHello Worldできるお手軽さ!さすがFlaskの兄貴!🙆🏻♂️
ただ今回、Flask兄貴にはバックエンドに徹してもらいます🙇🏻♂️
text/html ではなく application/jsonが欲しい!そんな時のjsonify!
上で見た、html で表現されたHello World も素敵なのですが、今回は HTTP Content-type: application/jsonで返してもらいます。
まず、jsonify を インポートします。
flask.palletsprojects.com
#flask_project.py from flask import Flask, jsonify
このjsonifyを使うことで簡単に Content-type: application/json のレスポンスを返すことができるようになります!
なので、先程のコードを以下のように書き換え、
#flask_project.py from flask import Flask app = Flask(__name__) @app.route("/") def hello(): hello_api = { 'greeting': "Hello World!" } return jsonify(hello_api) if __name__ == '__main__': app.run(debug=True)
curl http://localhost:5000/ { "greeting": "Hello World!" }
肝心のContent-Typeは...
curl -v http://localhost:5000/ Content-Type: application/json
簡単にREST APIをビルドすることができました。
さすがFlaskの兄貴!目立たない裏方でもサクッとスマートこなしちまうぜ!
こっから先のフロントエンドは私Reactにお任せくだせい!🙋🏻♂️
と、このようにバックエンドからフロントエンドへのデータの受け渡しが簡単にできるようになりました!!
今回は基本中の基本でしたが、次回はやや応用編を攻めていこうと思います!
ありがとうございました!