Apidog

オールインワン協働API開発プラットフォーム

API設計

APIドキュメント

APIデバッグ

APIモック

API自動テスト

解説:FastAPIのCRUD(作成、読み出し、更新、削除)を

FastAPIを利用してWeb APIを開発している中、CRUD(作成、読み出し、更新、削除)操作を行うのは必要である場合がよく見られます。本文では、FastAPIのCRUD(作成、読み出し、更新、削除)を簡単に実行する方法を皆さんに紹介します。

中村 拓也

中村 拓也

Updated on 11月 12, 2024

FastAPIを利用してWeb APIを開発している中、CRUD(作成、読み出し、更新、削除)操作を行うのは必要である場合がよく見られます。本文では、FastAPIのCRUD(作成、読み出し、更新、削除)を簡単に実行する方法を皆さんに紹介します。

FastAPIとは

FastAPIは、高性能なAPI開発を実現するためのPythonフレームワークで、StarletteとPydanticライブラリーに基づいています。REST API開発における新しいスタンダードとして、Pythonコミュニティで急速に注目を集めているフレームワークです。 機械学習プロジェクト等での利用に適している点が大きな特徴です。

公式サイト:https://fastapi.tiangolo.com/ja/

FastAPI

FastAPIでのCRUD

CRUDはCreate、Read、Update、Deleteの頭文字をとったもので、作成、読み出し、更新と削除の意味をしています。FastAPIを開発している中、CRUD機能を実装してデータを操作するのは非常に不可欠なことになります。

FastAPIでCRUD機能を実装すると、主に以下のようなデータ操作が可能になります。

  • モデル定義に基づくデータの作成 (Create)

リクエストBodyにモデルを指定することで、バリデーションを経たデータを作成できる。

  • データの取得 (Read)

パスパラメータやクエリパラメータを使って、指定したデータを取得できる。

  • データの更新 (Update)

パスパラメータで指定したデータを、リクエストBodyのモデルで更新できる。

  • データの削除 (Delete)

パスパラメータで指定したデータを削除できる。

具体的には以下のような操作が可能。この他にも、パラメータの検証、レスポンスモデルの定義、データベースへの接続などを組み合わせることで、アプリケーションに合わせた柔軟なCRUD操作が実装できます。

FastAPIでCRUDを実装する方法

それでは、FastAPIでCRUDを実装するには、どうしたらいいですか?次は、詳しい実装方法を皆さんに紹介していきたいと思います。

ステップ⒈FastAPIのインストール

FastAPIはPythonに基づいているフレームワークなので、まずはパソコンにPythonがインストールされていることを確認してください。そして、次のPIPコマンドを利用して、FastAPIをインストールする必要があります。

pip install fastapi

ステップ⒉FastAPIのアプリを作成

Pythonのファイル(たとえば、main.py)を作成して、必要なモジュールとライブラリーをインポートします。

from fastapi import FastAPI
from pydantic import BaseModel
from typing import List

app = FastAPI()

ステップ⒊データモデルを定義

そして、Pydanticを使用して、データモデルを定義します。

定義の例:

class Item(BaseModel):
    id: int
    name: str
    price: float

ステップ⒋CRUDルーディングと処理関数を作成

FastAPIを使用して、ルーディングと関連の処理関数を作成して、CRUD機能を実装します。たとえば:

items = []

@app.get("/items", response_model=List[Item])
async def read_items():
    return items

@app.post("/items", response_model=Item)
async def create_item(item: Item):
    items.append(item)
    return item

@app.put("/items/{item_id}", response_model=Item)
async def update_item(item_id: int, item: Item):
    items[item_id] = item
    return item

@app.delete("/items/{item_id}")
async def delete_item(item_id: int):
    del items[item_id]
    return {"message": "Item deleted"}
    
if __name__ == "__main__":
    import uvicorn

    uvicorn.run(app, host="127.0.0.1", port=8000)

ステップ⒌アプリを実装

FastAPIのアプリを実装してAPIRouterの機能をテストするために、uvicornのようなASGIサーバーを利用する必要があります。そこで、uvicornをインストールしたことを確認してください。また、次のコマンドを使用して、uvicornをインストールすることもできます:

pip install uvicorn

そして、お使いのIDEエディターで、ターミナルを開き、main.pyファイルの保存先のディレクトリにCDして、次のコマンドでFastAPIのアプリを実装してください:

uvicorn main:app --reload

このFastAPIのアプリはデフォルトポート(通常は8000)で立ち上げられ、自動ロード機能も自動的に有効にされます。そうすると、コードに変更がある場合、アプリが再ロードされ、いつも最新状態を保つことができます。

ステップ⒍CRUD機能をテスト

HTTPクライアント(CurlかApidogなど)を使って、リクエストを送信して、CRUD機能が正しく機能できるかどうかをテストすることができます。次は、Apidogという便利なHTTPクライアントを使って、いくつかの使用例を皆さんに紹介します。

button

アイテムを追加

Apidogを使用して、POSTリクエストを使用して、エンドポイント及び追加したいアイテム情報を記入することで、リクエストを簡単に送信できます。

POST http://localhost:8000/items
{
    "id": 1,
    "name": "Apple",
    "price": 0.5
}
FastAPIのPOSTテスト

アイテム情報の取得

ApidogでGETリクエストを利用すると、指定のAPIエンドポイントに簡単にリクエストを送信できます。

GET http://localhost:8000/items
FastAPIのGETテスト

アイテム情報の更新

ApidogでPUTリクエストを使用して、エンドポイント及び更新したいアイテム情報を記入することで、リクエストを簡単に送信できます。

PUT http://localhost:8000/items/1
{
    "id": 1,
    "name": "バナナ",
    "price": 5.9
}
FastAPIのPOSTテスト

アイテムの削除

ApidogでDeleteメソッドを指定して、削除したいアイテムを入力することで簡単にアイテムを削除できます。

DELETE http://localhost:8000/items/1
FastAPIのDeleteテスト

まとめ

本文では、FastAPIでWeb APIを開発している中、CRUD機能を実装する方法を紹介しました。上記の内容して、Web APIを簡単に構築することができます。また、Apidogという直感的なAPI管理ツールを使用することで、Web APIをより簡単で効率的にテストすることもできるので、非常に便利です。

button
初心者必読!ApidogでのPOSTリクエスト作成法効果的な戦略

初心者必読!ApidogでのPOSTリクエスト作成法

Apidogを使用してPOSTリクエストを作成するプロセスは簡単で、API開発とテストを合理化する幅広い機能を提供します。初心者から経験豊富な開発者まで、Apidogは強力なツールとして役立ちます。

中村 拓也

10月 21, 2024

手動テスト完全解説:品質を保証する最後の砦効果的な戦略

手動テスト完全解説:品質を保証する最後の砦

手動テストはソフトウェアテストライフサイクルに欠かせない要素であり、アプリケーションの品質、使いやすさ、機能を保証します。自動化の利点がある一方で、手動テストは機械では得られない貴重な洞察と創造性を提供し、包括的なテスト戦略として重要です。

中村 拓也

10月 18, 2024

PostmanでHTTP 405 メソッドなしエラーを修正する方法効果的な戦略

PostmanでHTTP 405 メソッドなしエラーを修正する方法

HTTP 405エラーコードは、無効なAPIキーまたはアクセストークンを使用してサーバーにアクセスしようとすると発生します。この記事では、405エラーについて学び、それを修正する方法について、段階的に解説します。

中村 拓也

8月 11, 2024