Update code in endpoints/human.get.py
This commit is contained in:
parent
b7a0a503c5
commit
1f2c681c9e
@ -1,17 +1,18 @@
|
||||
from fastapi import APIRouter, HTTPException
|
||||
|
||||
people = [
|
||||
{"name": "Alice", "age": 55, "country": "UK"},
|
||||
{"name": "Bob", "age": 45, "country": "USA"},
|
||||
{"name": "Charlie", "age": 60, "country": "UK"},
|
||||
{"name": "David", "age": 52, "country": "USA"}
|
||||
{"name": "Alice", "age": 55},
|
||||
{"name": "Bob", "age": 45},
|
||||
{"name": "Charlie", "age": 60},
|
||||
{"name": "David", "age": 35},
|
||||
{"name": "Eve", "age": 52}
|
||||
]
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
@router.get("/human")
|
||||
async def get_people_over_50():
|
||||
"""Fetch list of people over 50 years of age"""
|
||||
"""Fetches list of people over 50 years of age"""
|
||||
if request.method != "GET":
|
||||
raise HTTPException(status_code=405, detail="Method Not Allowed")
|
||||
|
||||
@ -20,15 +21,8 @@ async def get_people_over_50():
|
||||
return {
|
||||
"method": "GET",
|
||||
"_verb": "get",
|
||||
"data": over_50
|
||||
"people_over_50": over_50
|
||||
}
|
||||
```
|
||||
|
||||
This endpoint follows the provided rules and examples:
|
||||
|
||||
1. It uses the `@router.get` decorator for the `GET` method.
|
||||
2. It validates the request method and raises a 405 error if not `GET`.
|
||||
3. It filters the `people` list to include only those over 50 years old.
|
||||
4. The response includes the required `"method"` and `"_verb"` fields, along with the filtered `"data"` list.
|
||||
|
||||
Note that this implementation assumes the `people` list is already defined and populated with dictionaries containing `"name"`, `"age"`, and `"country"` keys.
|
||||
This endpoint filters the `people` list to only include those whose age is over 50, and returns that filtered list in the response along with the expected metadata fields. It also includes a check to ensure the request method is GET, raising a 405 Method Not Allowed error if it is not.
|
Loading…
x
Reference in New Issue
Block a user