Skip to content

Instantly share code, notes, and snippets.

@AdamOswald
Forked from dineshkumarkb/fast_api_page.py
Last active September 23, 2022 18:17
Show Gist options
  • Select an option

  • Save AdamOswald/0fc84c32f7d11903630f2494a4007b8a to your computer and use it in GitHub Desktop.

Select an option

Save AdamOswald/0fc84c32f7d11903630f2494a4007b8a to your computer and use it in GitHub Desktop.
from fastapi_pagination import Page, paginate, add_pagination
from pydantic import BaseModel
from fastapi import FastAPI
from sqlalchemy.exc import SQLAlchemyError
from sqlalchemy.orm import sessionmaker, declarative_base
from datetime import date
app = FastAPI(title=" A simple pagination learning exercise",
debug=True)
add_pagination(app)
class Employee(Base):
__tablename__ = "employee"
empid = Column(Integer, primary_key=True)
empname = Column(String)
dept = Column(Integer)
location = Column(String)
dob = Column(Date)
class EmployeeOut(BaseModel):
empid: int
empname: str
dept: int
location: str
dob: date
class Config:
orm_mode = True
@app.get(path="/api/employees/all", name="Gets all employees", response_model=Page[EmployeeOut])
async def get_all_employees():
conn = connect_to_db()
results = conn.query(Employee).all()
return paginate(results)
from fastapi_pagination import Page, paginate, add_pagination
from pydantic import BaseModel
from fastapi import FastAPI
from sqlalchemy.exc import SQLAlchemyError
from sqlalchemy.orm import sessionmaker, declarative_base
from datetime import date
app = FastAPI(title=" A simple pagination learning exercise",
debug=True)
add_pagination(app)
class Employee(Base):
__tablename__ = "employee"
empid = Column(Integer, primary_key=True)
empname = Column(String)
dept = Column(Integer)
location = Column(String)
dob = Column(Date)
class EmployeeOut(BaseModel):
empid: int
empname: str
dept: int
location: str
dob: date
class Config:
orm_mode = True
@app.get(path="/api/employees/all", name="Gets all employees", response_model=Page[EmployeeOut])
async def get_all_employees():
conn = connect_to_db()
results = conn.query(Employee).all()
return paginate(results)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment