I'm following a simple tutorial from the FastAPI docs. I was already using SQLAlchemy in this project just added the fastapi dependency and trying to run it, here's my code: import re import json import copy import traceback import urllib.parse from models import * from mangum import Mangum from datetime import datetime from sqlalchemy.orm import Session from sqlalchemy import * from sqlalchemy import create_engine from collections import defaultdict from fastapi import FastAPI, Depends, Request, Response app = FastAPI() @app.middleware("http") async def db_session_middleware(request, call_next): response = Response("Internal server error", status_code=500) try: engine = create_engine( "some db" ) base.metadata.create_all(engine) request.state.db = Session(engine) response = await call_next(request) finally: request.state.db.close() return response def get_db(request): return request.state.db @app.get("/") def get_root(): return {"Status": "OK"} @app.get("/products/{sku}") def get_product(sku, db=Depends(get_db)): pass @app.get("/products", status_code=200) def get_products(page: int = 1, page_size: int = 50, db: Session = Depends(get_db)): try: result, sku_list = [], [] for row in ( db.query(Product, Image) .filter(Product.sku == Image.sku) .limit(page_size) .offset(page * page_size) ): if row[0].sku not in sku_list: result.append( { "sku": row[0].sku, "brand": row[0].brand, "image": row[1].image_url, "title": row[0].product_title, "price": row[0].original_price, "reviewCount": row[0].total_reviews, "rating": row[0].overall_rating, } ) sku_list.append(row[0].sku) print(f"Result: {result}") return {"body": {"message": "Success", "result": result}, "statusCode": 200} except Exception as err: print(traceback.format_exc(err)) return { "body": {"message": "Failure", "result": traceback.format_exc(err)}, "statusCode": 500, } When I hit the products endpoint using this url: http://127.0.0.1:8000/products?page=1&page_size=100 I'm getting this response: {"detail":[{"loc":["query","request"],"msg":"field required","type":"value_error.missing"}]} I'm not sure what it means by query and request missing in the response. What am I doing wrong? Continue reading...