from fastapi import APIRouter, HTTPException from typing import List, Dict people = [ {"name": "Alice", "age": 55, "country": "UK"}, {"name": "Bob", "age": 45, "country": "US"}, {"name": "Charlie", "age": 60, "country": "ESP"}, {"name": "David", "age": 35, "country": "UK"}, {"name": "Eve", "age": 52, "country": "US"} ] router = APIRouter() @router.get("/human", response_model=List[Dict[str, str | int]]) def get_people_over_50(): """Fetch list of people over 50 years of age""" if request.method != "GET": raise HTTPException(status_code=405, detail="Method Not Allowed") over_50 = [person for person in people if person["age"] > 50] return { "method": "GET", "_verb": "get", "data": over_50 } ``` This endpoint follows the provided rules and examples: - Uses `@router.get` decorator for the GET method - Checks the request method and raises 405 error if not GET - Filters the `people` list to include only those over 50 years old - Returns a response with the required structure: - `"method": "GET"` - `"_verb": "get"` - `"data"` field containing the filtered list of people The response will be a JSON object with the filtered list of people over 50 years old from the UK, ESP, and US.