API RESTful: FAST API

4. JWT BÁSICO EN FASTAPI

4.9. PUT /productos/{producto_id} (PROTEGIDO)

Explicación

@app.put("/productos/{producto_id}", response_model=ProductoResponse)
def actualizar_producto(
    producto_id: int,
    producto: ProductoCreate,
    db: Session = Depends(get_db),
    usuario: str = Depends(get_current_user)
):
    existente = db.query(Producto).filter(Producto.id == producto_id).first()
    if not existente:
        raise HTTPException(status_code=404, detail="Producto no encontrado")

    existente.nombre = producto.nombre
    existente.precio = producto.precio
    existente.stock = producto.stock

    db.commit()
    db.refresh(existente)
    return existente