Nou Generator de prompt AI — scrie prompturi mai bune pentru ChatGPT, Claude și Gemini →

@app.patch(), @app.options() și @app.head() în FastAPI în FastAPI

routing FastAPI 0.110+ / Python 3.10+ Q&A / Distribuie cod

Ghid complet pentru definirea operațiilor HTTP de actualizare parțială (PATCH), negociere capacități server (OPTIONS) și inspectare antete (HEAD).

Sintaxă
@app.patch("/items/{id}") / @app.options() / @app.head()

În conformitate cu standardul RESTful, pe lângă metodele uzuale GET, POST, PUT și DELETE, protocolul HTTP definește operațiuni specializate:

  • @app.patch("/{id}"): Folosit pentru actualizarea parțială a unei resurse (de exemplu modificarea unui singur câmp dintr-un profil de utilizator fără a suprascrie restul atributelor).
  • @app.head("/{id}"): Returnează exact aceleași antete HTTP ca un apel GET, dar fără corpul răspunsului (util pentru verificarea existenței sau a dimensiunii fișierelor mari).
  • @app.options("/{id}"): Interoghează serverul cu privire la metodele și politicile CORS permise pe endpoint-ul respectiv.
Exemplu: Rută PATCH pentru actualizare parțială cu Pydantic
from fastapi import FastAPI, HTTPException
from pydantic import BaseModel
from typing import Optional

app = FastAPI()

class ItemUpdate(BaseModel):
    name: Optional[str] = None
    price: Optional[float] = None
    in_stock: Optional[bool] = None

db = {1: {"name": "Laptop", "price": 4500.0, "in_stock": True}}

@app.patch("/items/{item_id}")
async def patch_item(item_id: int, update: ItemUpdate):
    if item_id not in db:
        raise HTTPException(status_code=404, detail="Produsul nu există")
    
    # model_dump(exclude_unset=True) extrage DOAR câmpurile trimise de client:
    update_data = update.model_dump(exclude_unset=True)
    db[item_id].update(update_data)
    return db[item_id]

Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: @app.patch(), @app.options() și @app.head() în FastAPI

Ai o nelămurire despre utilizarea comenzii @app.patch(), @app.options() și @app.head() în FastAPI sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!

💬

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.

Comunitate Adaugă o întrebare sau distribuie un cod

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.