AhmetFurkanDEMIR/Building-CRUD-API-with-Lambda-FastAPI-and-DynamoDB

Rest Standarts

Closed this issue · 1 comments

When I look up the route file: https://github.com/AhmetFurkanDEMIR/Building-CRUD-API-with-Lambda-FastAPI-and-DynamoDB/blob/main/FastAPI_DynamoDB/routes/song.py . It works but can be written more efficiently.

from fastapi import APIRouter
from database.song import create_song, get_song, get_songs
from models.song import Song
from models.song import DeleteSong
from database.song import *

routes_song = APIRouter()

// For creation you can use post but you dont have to post request to /create. It can be /
@routes_song.post("/", response_model=Song)
def create(song: Song):

    return create_song(song.dict())

@routes_song.get("/{id}")
def get_songId(id: str):

    return get_song(id)

@routes_song.get("/")
def get_all_song():

    return get_songs()

@routes_song.delete("/{id}")
def delete(song: DeleteSong):

    return delete_song(song.dict())

@routes_song.put("/{id}")
def update(song: Song):

    return update_song(song.dict())

Thank you for your suggestion/warning, @Selahattinn.