[Python 100日チャレンジ] Day 87 - FlaskでREST APIを作る
FlaskでJSONレスポンスを返すREST APIを作り、GETとPOSTの基本を実装します。
[Python 100日チャレンジ] Day 87 - FlaskでREST APIを作る
REST APIとは
REST APIは、HTTPを使ってデータをやり取りする仕組みです。Web画面ではなく、JSONを返すエンドポイントを作ります。
1
2
3
4
5
from flask import jsonify
@app.route("/api/posts")
def api_posts():
return jsonify([{"id": 1, "title": "Hello"}])
GET API
1
2
3
4
@app.route("/api/posts/<int:post_id>")
def api_post(post_id):
post = {"id": post_id, "title": "Sample"}
return jsonify(post)
データを取得するAPIでは、URLにIDを含めることが多いです。
POST API
1
2
3
4
5
6
from flask import request
@app.route("/api/posts", methods=["POST"])
def create_post():
data = request.get_json()
return jsonify({"title": data["title"]}), 201
JSONのリクエストボディはrequest.get_json()で受け取れます。
ステータスコード
作成成功なら201、見つからない場合は404のように、結果に合ったHTTPステータスコードを返します。
今日のゴール
REST APIでは、URL、HTTPメソッド、JSON、ステータスコードをそろえて設計します。Flaskで小さなJSON APIを作って流れを確認しましょう。
この投稿は投稿者によって CC BY 4.0 の下でライセンスされています。
