Hay un error en conceptual en el código, no van las comas luego de cada valor a reemplazar, por eso está devolviendo una lista y no un string, ojo!!!
Codigo correcto
@app.put('/movies/{id}', tags=['movies'])
def update_movie(id: int, title: str = Body(), overview: str = Body(), year: int = Body(), rating: float = Body(), category: str = Body()):
for item in movies:
if item['id'] == id:
item['title'] = title
item['overview'] = overview
item['year'] = year
item['rating'] = rating
item['category'] = category
return movies
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?