Skip to content

Commit 4051a72

Browse files
committed
add response models
1 parent db03c97 commit 4051a72

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

routes.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
from fastapi import APIRouter, Body, Request, Response, HTTPException, status
22
from fastapi.encoders import jsonable_encoder
3+
from typing import List
34

45
from models import Book, BookUpdate
56

67
router = APIRouter()
78

8-
@router.post("/", response_description="Create a new book", status_code=status.HTTP_201_CREATED)
9+
@router.post("/", response_description="Create a new book", status_code=status.HTTP_201_CREATED, response_model=Book)
910
def create_book(request: Request, book: Book = Body(...)):
1011
book = jsonable_encoder(book)
1112
new_book = request.app.database["books"].insert_one(book)
@@ -16,20 +17,20 @@ def create_book(request: Request, book: Book = Body(...)):
1617
return created_book
1718

1819

19-
@router.get("/", response_description="List all books")
20+
@router.get("/", response_description="List all books", response_model=List[Book])
2021
def list_books(request: Request):
2122
books = list(request.app.database["books"].find(limit=100))
2223
return books
2324

24-
@router.get("/{id}", response_description="Get a single book by id")
25+
@router.get("/{id}", response_description="Get a single book by id", response_model=Book)
2526
def find_book(id: str, request: Request):
2627
if (book := request.app.database["books"].find_one({"_id": id})) is not None:
2728
return book
2829

2930
raise HTTPException(status_code=status.HTTP_404_NOT_FOUND, detail=f"Book with ID {id} not found")
3031

3132

32-
@router.put("/{id}", response_description="Update a book")
33+
@router.put("/{id}", response_description="Update a book", response_model=Book)
3334
def update_book(id: str, request: Request, book: BookUpdate = Body(...)):
3435
book = {k: v for k, v in book.dict().items() if v is not None}
3536

0 commit comments

Comments
 (0)