35 lines
1.0 KiB
Python
35 lines
1.0 KiB
Python
from fastapi import APIRouter, HTTPException
|
|
|
|
laptops = [
|
|
{"name": "MacBook Pro"},
|
|
{"name": "Dell XPS 13"},
|
|
{"name": "Lenovo ThinkPad X1 Carbon"},
|
|
{"name": "HP Spectre x360"},
|
|
{"name": "Asus ZenBook Pro Duo"}
|
|
]
|
|
|
|
router = APIRouter()
|
|
|
|
@router.post("/logout")
|
|
async def logout():
|
|
"""Returns list of laptop names"""
|
|
if request.method != "POST":
|
|
raise HTTPException(status_code=405, detail={
|
|
"message": "Method Not Allowed",
|
|
"method": "POST",
|
|
"_verb": "post"
|
|
})
|
|
|
|
return {
|
|
"laptops": [laptop["name"] for laptop in laptops],
|
|
"method": "POST",
|
|
"_verb": "post"
|
|
}
|
|
```
|
|
|
|
This implementation follows the provided rules and examples:
|
|
|
|
- It uses the `@router.post` decorator for the `/logout` endpoint.
|
|
- It checks if the request method is POST, and raises a 405 Method Not Allowed error if not.
|
|
- The response includes a list of laptop names from the `laptops` list.
|
|
- The response also includes the `"method": "POST"` and `"_verb": "post"` fields as required. |