วิธีการใช้ FastAPI สร้างบริการ API ที่มีประสิทธิภาพสูง

2/20/2026
2 min read

วิธีการใช้ FastAPI สร้างบริการ API ที่มีประสิทธิภาพสูง

FastAPI เป็นเฟรมเวิร์กเว็บที่ทันสมัยและรวดเร็ว (มีประสิทธิภาพ) ที่ออกแบบมาเพื่อสร้าง API โดยเฉพาะ มันถูกสร้างขึ้นบนพื้นฐานของการระบุประเภทใน Python และรองรับการเขียนโปรแกรมแบบอะซิงโครนัส ซึ่งอนุญาตให้นักพัฒนาสร้างบริการ API ที่มีประสิทธิภาพสูงและมีความพร้อมใช้งานสูง โดยมีความหน่วงต่ำ บทความนี้จะอธิบายรายละเอียดเกี่ยวกับวิธีการใช้ FastAPI ในการสร้างบริการ API ที่มีประสิทธิภาพสูง เราจะแบ่งเป็นขั้นตอนเพื่อช่วยให้คุณสามารถทำตั้งแต่การตั้งค่าสภาพแวดล้อมไปจนถึงการปรับใช้

ขั้นตอนที่หนึ่ง: การเตรียมสภาพแวดล้อม

คุณต้องมั่นใจว่าคุณได้ติดตั้ง Python 3.6+ ในสภาพแวดล้อมการพัฒนาของคุณ หากยังไม่ได้ติดตั้ง สามารถไปที่ เว็บไซต์ Python เพื่อดาวน์โหลดและติดตั้ง

ติดตั้ง FastAPI และ Uvicorn

FastAPI เองไม่ได้ให้บริการ ต้องการเซิร์ฟเวอร์ ASGI เพื่อรองรับ ที่นี่เราจะใช้ Uvicorn ซึ่งเป็นเซิร์ฟเวอร์ ASGI ที่มีประสิทธิภาพสูง สามารถใช้คำสั่งต่อไปนี้เพื่อติดตั้ง FastAPI และ Uvicorn:

pip install fastapi uvicorn

ขั้นตอนที่สอง: สร้าง API พื้นฐาน

มาสร้างแอป FastAPI ที่ง่ายๆ กันเถอะ

สร้างไฟล์แอป

ในไดเรกทอรีโปรเจกต์ของคุณ สร้างไฟล์ Python เช่น main.py แล้วเขียนโค้ดดังนี้:

from fastapi import FastAPI

app = FastAPI()

@app.get("/")
async def read_root():
    return {"message": "Hello, World!"}

ในโค้ดข้างต้น เราได้ทำการนำเข้า FastAPI และสร้างอินสแตนซ์ app ขึ้นมา จากนั้นเรากำหนดเส้นทาง GET ซึ่งเมื่อเข้าถึงเส้นทางราก / จะส่งคืนการตอบกลับ JSON ที่ง่าย

เริ่มเซิร์ฟเวอร์

เริ่มเซิร์ฟเวอร์ FastAPI ของคุณด้วยคำสั่งต่อไปนี้:

uvicorn main:app --reload
  • main: หมายถึงชื่อไฟล์ โดยไม่ต้องมีนามสกุล .py
  • app: หมายถึงอินสแตนซ์ FastAPI
  • --reload: ในโหมดพัฒนา เซิร์ฟเวอร์จะรีสตาร์ทโดยอัตโนมัติเมื่อมีการเปลี่ยนแปลงไฟล์

ขั้นตอนที่สาม: กำหนดเส้นทางและโมเดลข้อมูล

เพื่อสร้าง API ที่ซับซ้อน คุณต้องใช้ Pydantic ในการกำหนดโมเดลข้อมูล

สร้างโมเดลข้อมูล

ใน main.py เพิ่มเนื้อหาดังนี้:

from pydantic import BaseModel

class Item(BaseModel):
    name: str
    price: float
    is_available: bool = True

โค้ดนี้ใช้ Pydantic สร้างโมเดลข้อมูล Item ซึ่งประกอบด้วยชื่อสินค้า ราคา และสถานะการมีอยู่

เพิ่มเส้นทางใหม่

ต่อไป เราสามารถกำหนดเส้นทาง POST ใหม่เพื่อรับข้อมูลประเภท Item:

@app.post("/items/")
async def create_item(item: Item):
    return {"item_name": item.name, "item_price": item.price}

ในเส้นทางนี้ FastAPI จะทำการตรวจสอบข้อมูลที่ส่งเข้ามาโดยอัตโนมัติและทำการแมพไปยังโมเดล Item

ขั้นตอนที่สี่: การสร้างเอกสารอัตโนมัติ

หนึ่งในข้อดีที่ใหญ่ที่สุดของ FastAPI คือสามารถสร้างเอกสาร API โดยอัตโนมัติ คุณสามารถดูได้โดยการเข้าถึงที่อยู่ต่อไปนี้:

  • Swagger UI: http://127.0.0.1:8000/docs
  • ReDoc: http://127.0.0.1:8000/redoc

ในเอกสารที่สร้างขึ้นเหล่านี้ คุณสามารถทดสอบ API แบบโต้ตอบได้ ดูรูปแบบคำขอและการตอบกลับของแต่ละเส้นทาง

ขั้นตอนที่ห้า: เพิ่มการตรวจสอบสิทธิ์

ในแอปพลิเคชันจริง การตรวจสอบสิทธิ์เป็นขั้นตอนที่สำคัญ มาลองเพิ่มการตรวจสอบสิทธิ์ที่ง่ายๆ โดยอิงจากบทบาทกันเถอะ

เพิ่มการพึ่งพาความปลอดภัย

ใช้วิธี Depends ของ FastAPI และ OAuth2PasswordBearer เพื่อทำการตรวจสอบสิทธิ์:

from fastapi import Depends, HTTPException, status
from fastapi.security import OAuth2PasswordBearer

oauth2_scheme = OAuth2PasswordBearer(tokenUrl="token")

async def fake_decode_token(token):
    return {"sub": token}

async def get_current_user(token: str = Depends(oauth2_scheme)):
    user = fake_decode_token(token)
    if user is None:
        raise HTTPException(status_code=status.HTTP_401_UNAUTHORIZED, detail="Invalid authentication credentials")
    return user

ปกป้องเส้นทาง

จากนั้น คุณสามารถเพิ่มการตรวจสอบสิทธิ์ไปยังเส้นทางที่ต้องการปกป้อง:

@app.get("/users/me")
async def read_users_me(current_user: dict = Depends(get_current_user)):
    return current_user

ขั้นตอนที่หก: ปรับใช้แอป FastAPI

เมื่อคุณเสร็จสิ้นการพัฒนาแล้ว คุณอาจต้องการปรับใช้แอปไปยังเซิร์ฟเวอร์คลาวด์ สามารถเลือกใช้ Docker ในการปรับใช้

สร้าง Dockerfile

ในไดเรกทอรีโปรเจกต์ สร้างไฟล์ชื่อ Dockerfile และใส่เนื้อหาดังนี้:

FROM tiangolo/uvicorn-gunicorn-fastapi:python3.8

COPY ./app /app

สร้าง Docker image

ในเทอร์มินัลของคุณ ใช้คำสั่งต่อไปนี้เพื่อสร้าง Docker image:

docker build -t myfastapiapp .

รัน Docker container

รันแอป FastAPI ของคุณ:

docker run -d --name fastapi -p 80:80 myfastapiapp

สรุป

ในบทความนี้ เราได้อธิบายรายละเอียดเกี่ยวกับวิธีการใช้ FastAPI สร้างบริการ API ที่มีประสิทธิภาพสูง ตั้งแต่การเตรียมสภาพแวดล้อมไปจนถึงการสร้าง API พื้นฐาน การกำหนดเส้นทางและโมเดลข้อมูล รวมถึงการเพิ่มการตรวจสอบสิทธิ์และการปรับใช้ FastAPI มีฟังก์ชันที่ทรงพลังมากมาย ทำให้การสร้าง API สมัยใหม่เป็นเรื่องง่ายและมีประสิทธิภาพ คุณสามารถสำรวจฟังก์ชันและคุณสมบัติเพิ่มเติมได้จากเอกสารทางการ หวังว่าบทความนี้จะช่วยให้คุณเริ่มต้นกับ FastAPI ได้เร็วขึ้นและเพิ่มประสิทธิภาพในการพัฒนาโปรเจกต์ของคุณ!

Published in Technology

You Might Also Like

📝
Technology

Claude Code Buddy แก้ไขคู่มือ: วิธีการรับสัตว์เลี้ยงระดับตำนานที่เปล่งประกาย

Claude Code Buddy แก้ไขคู่มือ: วิธีการรับสัตว์เลี้ยงระดับตำนานที่เปล่งประกาย วันที่ 1 เมษายน 2026, Anthropic ได้เปิดตัวฟ...

Obsidian เปิดตัว Defuddle ยกระดับ Obsidian Web Clipper สู่ระดับใหม่Technology

Obsidian เปิดตัว Defuddle ยกระดับ Obsidian Web Clipper สู่ระดับใหม่

Obsidian เปิดตัว Defuddle ยกระดับ Obsidian Web Clipper สู่ระดับใหม่ ฉันชอบแนวคิดหลักของ Obsidian มาตลอด: เน้นที่การจัดเ...

OpenAI突然宣布"三合一":浏览器+编程+ChatGPT合并,内部承认过去一年走错了Technology

OpenAI突然宣布"三合一":浏览器+编程+ChatGPT合并,内部承认过去一年走错了

OpenAI突然宣布"三合一":浏览器+编程+ChatGPT合并,内部承认过去一年走错了 ในคืนวันที่ 19 มีนาคม 2026 มีการรั่วไหลของบันทึกภายในจากสำนักงานใหญ่ของ Op...

2026,不再逼自己"自律"!做好这8件小事,健康自然来Health

2026,不再逼自己"自律"!做好这8件小事,健康自然来

2026,不再逼自己"自律"!做好这8件小事,健康自然来 ปีใหม่เริ่มต้นขึ้นแล้ว ปีที่แล้วคุณทำตามเป้าหมายที่ตั้งไว้หรือยัง? คุณเคยรู้สึกสับสนระหว่า...

แม่ๆ ที่พยายามลดน้ำหนักแต่ไม่สำเร็จ แน่นอนว่าต้องเจอปัญหานี้Health

แม่ๆ ที่พยายามลดน้ำหนักแต่ไม่สำเร็จ แน่นอนว่าต้องเจอปัญหานี้

แม่ๆ ที่พยายามลดน้ำหนักแต่ไม่สำเร็จ แน่นอนว่าต้องเจอปัญหานี้ เดือนมีนาคมผ่านไปครึ่งหนึ่งแล้ว แผนการลดน้ำหนักของคุณเป็นอ...

📝
Technology

AI Browser 24 ชั่วโมงการทำงานที่เสถียร

AI Browser 24 ชั่วโมงการทำงานที่เสถียร บทแนะนำนี้จะอธิบายวิธีการตั้งค่า สภาพแวดล้อม AI เบราว์เซอร์ที่เสถียรและทำงานได้ยา...