本記事について
この記事はプログラミング初学者の私が学んでいく中でわからない単語や概要を分かりやすくまとめたものです。
もし不正などありましたらコメントにてお知らせいただければ幸いです。
前回の記事
https://qiita.com/kou1121/items/bea7575176b07bd16bb9
https://qiita.com/kou1121/items/94ff8d65976dab98dfc8
メインファイルの作成
sql_app
フォルダーなのかに
main.py
を作る
from typing import List
from fastapi import FastAPI, Depends
from sqlalchemy.orm import Session
from . import crud, models, schemas
from .database import SessionLocal, engine
# データベースエンジンを元にデータベースを作成
models.Base.metadata.create_all(bind=engine)
app = FastAPI()
def get_db(): # セッションを行う
db = SessionLocal()
try:
yield db
finally:
db.close()
# @app.get("/")
# async def index():
# return{"message": "Success"}
# Read
@app.get("/users", response_model=List[schemas.User]) # 複数名のユーザーを返すのでListで
async def read_users(skip: int = 0, limit: int = 100, db: Session = Depends(get_db)):
users = crud.get_users(db, skip=skip, limit=limit)
return users
@app.get("/rooms", response_model=List[schemas.Room]) # 複数名のユーザーを返すのでListで
async def read_rooms(skip: int = 0, limit: int = 100, db: Session = Depends(get_db)):
rooms = crud.get_rooms(db, skip=skip, limit=limit)
return rooms
@app.get("/bookings", response_model=List[schemas.Booking]) # 複数名のユーザーを返すのでListで
async def read_bookings(skip: int = 0, limit: int = 100, db: Session = Depends(get_db)):
bookings = crud.get_bookings(db, skip=skip, limit=limit)
return bookings
# Create
@app.post("/users", response_model=schemas.User)
async def create_user(user: schemas.User, db: Session = Depends(get_db)):
return crud.create_user(db=db, user=user)
@app.post("/rooms", response_model=schemas.Room)
async def create_room(room: schemas.Room, db: Session = Depends(get_db)):
return crud.create_room(db=db, room=room)
@app.post("/bookings", response_model=schemas.Booking)
async def create_booking(booking: schemas.Booking, db: Session = Depends(get_db)):
return crud.create_booking(db=db, booking=booking)
参考