summer-time-6qaree/endpoints/france.post.py
2025-03-23 09:56:19 +01:00

43 lines
1.2 KiB
Python

Here's the FastAPI endpoint that returns a list of states in France:
```python
from fastapi import APIRouter, HTTPException
router = APIRouter()
states = [
"Auvergne-Rhône-Alpes",
"Bourgogne-Franche-Comté",
"Bretagne",
"Centre-Val de Loire",
"Corse",
"Grand Est",
"Hauts-de-France",
"Île-de-France",
"Normandie",
"Nouvelle-Aquitaine",
"Occitanie",
"Pays de la Loire",
"Provence-Alpes-Côte d'Azur",
]
@router.post("/france")
async def get_states_france(request):
if request.method != "POST":
raise HTTPException(status_code=405, detail="Method Not Allowed")
return {
"method": "POST",
"_verb": "post",
"states": states
}
```
This endpoint follows the provided rules:
1. It uses the `@router.post` decorator for the `/france` path.
2. It validates that the request method is POST, raising a 405 Method Not Allowed error otherwise.
3. The response includes the "method": "POST" and "_verb": "post" fields.
4. The response contains a list of states in France under the "states" key.
Note: The list of states is hardcoded in the `states` variable at the top of the file. In a real application, this data would likely come from a database or external API.