透かしなしで本番環境でテストしてください。
必要な場所で動作します。
30日間、完全に機能する製品をご利用いただけます。
数分で稼働させることができます。
製品トライアル期間中にサポートエンジニアリングチームへの完全アクセス
FastAPIは、Pythonを使用してAPIを構築するための、モダンで高性能なウェブフレームワークです。 それは、簡単に使用および学習できるように設計されており、自動検証、シリアライゼーション、自動インタラクティブAPIドキュメントといった強力な機能を提供します。 さらに、任意のテンプレートエンジンと互換性があり、プロジェクトに必要な任意のデフォルトテンプレート設定を使用することができます。
FastAPIの詳細、その特徴、および効果的な使用方法について詳しく見ていきましょう。 この記事の後半では、IronPDF についても検討します。これは、Iron Software からのPDF生成用Pythonパッケージです。
高性能:FastAPIは、ウェブ部分にStarletteを、データ部分にPydanticを使用しているため、Node.jsやGoに匹敵する、利用可能な最速のPythonフレームワークの1つです。
使いやすさ: これは、直感的に使用できるよう設計されており、ドキュメントを読む時間を短縮します。 フレームワークは、データの検証とシリアル化のために標準的なPython型ヒントを活用しています。
自動インタラクティブドキュメント: FastAPIはOpenAPIとJSON Schemaを使用してインタラクティブなAPIドキュメントを自動的に生成し、/docs (Swagger UI) および /redoc (ReDoc) からアクセス可能です。また、インタラクティブAPIドキュメントのアップグレードにより、このドキュメントは自動的に更新されます。 代替APIドキュメントのアップグレードにもこれが反映されます。
エディターサポート:VS Codeなどのエディターでコード補完や型チェックの優れたサポートを提供し、開発のスピードを上げ、エラーを減らします。
FastAPI と ASGI サーバーであるUvicorn を pip を使用してインストールできます。
pip install fastapi
pip install "uvicorn[standard]"
pip install fastapi
pip install "uvicorn[standard]"
以下は、FastAPIを使用してユーザーインターフェースを介してPythonデータを公開するための簡単な例です。
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root():
return {"Hello": "World"}
@app.get("/items/{item_id}") # with query parameters
def read_item(item_id: int, q: str = None):
return {"item_id": item_id, "q": q}
py
アプリケーションを実行するには、Uvicornを使用します。
uvicorn main:app --reload
py
このコマンドは開発サーバーを起動し、コードの変更に対して自動的にリロードします。 インタラクティブAPIドキュメントにはhttp://127.0.0.1:8000/docs
でアクセスできます。
FastAPIは、高度な機能を幅広くサポートしており、複雑なアプリケーションに適しています。
依存性注入: FastAPIは、依存性をクリーンかつ効率的に管理できる強力な依存性注入システムを提供します。
バックグラウンドタスク:レスポンスを返した後に実行するバックグラウンドタスクを定義できます。これは、メールの送信やデータの処理などのタスクに役立ちます。
WebSockets: FastAPIはWebSocketsをサポートしており、クライアントとサーバー間のリアルタイム通信が可能です。
セキュリティ: FastAPIには、OAuth2、JWTトークンなど、セキュリティを処理するためのツールが含まれています。
アイテムを管理するためのシンプルなCRUD(Create、Read、Update、Delete)APIを構築しましょう。
from pydantic import BaseModel
class Item(BaseModel):
name: str
description: str = None
price: float
tax: float = None
py
from fastapi import FastAPI, HTTPException
app = FastAPI()
items = {}
@app.post("/items/")
def create_item(item: Item):
item_id = len(items) + 1
items[item_id] = item
return item
@app.get("/items/{item_id}") # optional str query parameter
def read_item(item_id: int):
if item_id not in items:
raise HTTPException(status_code=404, detail="Item not found")
return items[item_id]
@app.put("/items/{item_id}") # with path parameters
def update_item(item_id: int, item: Item):
if item_id not in items:
raise HTTPException(status_code=404, detail="Item not found")
items[item_id] = item
return item
@app.delete("/items/{item_id}")
def delete_item(item_id: int):
if item_id not in items:
raise HTTPException(status_code=404, detail="Item not found")
del items[item_id]
return {"message": "Item deleted"}
py
IronPDFは、HTML、CSS、画像、JavaScriptからPDFの作成、編集、署名を行うために設計された強力なPythonライブラリです。 商業利用レベルのパフォーマンスを、低メモリフットプリントで提供します。 主要な機能には次のものが含まれます:
HTMLファイル、HTML文字列、URLをPDFに変換。 例えば、Chrome PDFレンダラーを使用してウェブページをPDFとしてレンダリングします。
.NET Core、.NET Standard、.NET Frameworkなど、さまざまな.NETプラットフォームに対応。 Windows、Linux、macOSに対応しています。
プロパティを設定し、パスワードとアクセス許可を使用してセキュリティを追加し、PDFに電子署名を適用します。
ヘッダー、フッター、ページ番号、調整可能な余白でPDFをカスタマイズ。 レスポンシブレイアウトとカスタム用紙サイズをサポートします。
PDF/AやPDF/UAなどのPDF標準に準拠。 UTF-8文字エンコーディングをサポートし、画像、CSS、およびフォントなどのアセットを処理します。
pip install fastapi
pip install ironPDF
pip install fastapi
pip install ironPDF
from fastapi import FastAPI
from fastapi.responses import FileResponse
from ironpdf import *
# Apply your license key
License.LicenseKey = "key"
app = FastAPI()
@app.get("/")
def read_root():
return {"Hello": "IronPDF"}
@app.get("/items/{item_id}") # with query parameters
def read_item(item_id: int, q: str = None):
return {"item_id": item_id, "q": q}
@app.get("/pdf")
async def get_pdf(greet1: str = None,greet2: str = None):
renderer = ChromePdfRenderer()
# Create a PDF from a HTML string using Python
content = "<h1>Document Generated using IronPDF with fastapi GET</h1>"
content += "<p> Demonstrate PDF generation using User Inputs"+"</p>"
content += "<p>"+f"Greetings from: {greet1}"+"</p>"
content += "<p>"+f"And Greetings from: {greet2}"+"</p>"
pdf = renderer.RenderHtmlAsPdf(content)
# Export to a file or Stream
pdf.SaveAs("fastapi.pdf")
# To view the file in the browser, use "inline" for the media_type
headers = {
"Content-Disposition": "inline; filename=sample.pdf"
}
# Create a FileResponse object with the file path, media type and headers
response = FileResponse("fastapi.pdf", media_type="application/pdf", headers=headers)
# Return the FileResponse object
return response
py
このコードスニペットは、FastAPIとIronPDFの統合を示しており、ユーザーの入力に基づいて動的にPDFドキュメントを生成し、ダウンロード可能なレスポンスとして提供します。
ライセンスキーの設定: IronPDFのライセンスキーを適用して、その機能を有効にします。
FastAPI 初期化: HTTPリクエストを処理するためのFastAPIインスタンス(`app`)を初期化します。基本的なルートハンドラー: `read_root()`: ルートURL(`/`)にアクセスした際に「Hello IronPDF」という簡単なJSONメッセージで応答します。 `read_item()`: `item_id` のパスパラメータとオプションの `q` クエリパラメータを受け取ります。 これらの関数パラメータを伴ったJSON応答を返します。
PDF生成ルート (`/pdf`): `get_pdf()`
このコードスニペットは、FastAPIと統合して、ユーザーの入力に基づいてPDFドキュメントを動的に生成および提供するためにIronPDFをどのようにシームレスに統合できるかを示しています。 HTMLコンテンツをPDFに変換する能力を示しており、HTTP経由でのオンデマンドのドキュメント生成や配信を必要とするアプリケーションに適しています。
以下は、APIから生成されたSwagger出力を示しています。
IronPDF は Python 用のライセンスキーで動作します。 IronPDF for Pythonは、購入前に機能を試すことができる無料試用ライセンスキーを提供しています。
IronPDFパッケージを使用する前に、スクリプトの先頭にライセンスキーを配置します。
from ironpdf import *
# Apply your license key
License.LicenseKey = "key"
py
FastAPIは、PythonでAPIを構築するための強力で使いやすいフレームワークです。 FastAPIは高性能、自動ドキュメント、そして高度な機能を備えており、初心者と経験豊富な開発者の両方にとって優れた選択肢です。 シンプルなAPIや複雑なWebアプリケーションを構築している場合でも、FastAPIは成功するために必要なツールを提供します。
IronPDF は、HTMLコンテンツからPDFドキュメントを作成、操作、およびレンダリングするための強力なPythonライブラリです。 HTMLからPDFへの変換、インタラクティブなフォーム作成、PDFの操作(結合、分割)、およびテキストの抽出などの機能を提供します。 さまざまなPythonアプリケーションに簡単に統合し、動的なPDFを手軽に生成するのに最適です。