Flask Academy · Lektion

Ange tillåtna metoder för en route

Skicka methods till @app.route för GET och POST.

Lektion 1 av 413 steg

Ange tillåtna metoder för en route är en gratis lektion i Flask Academy på CoddyKit. Detta är lektion 1 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Flask Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Flask Academy innehåller totalt 4 lektioner.

Routes använder GET som standard

Alla Flask-routes du hittills har skrivit svarar bara på GET-requests. Webbläsare använder GET för att hämta sidor, så det är standardvalet.

Argumentet methods

För att acceptera andra verb skickar du en lista med methods till route-dekoratorn. Den talar om exakt vilka HTTP-verb som viewen hanterar.

@app.route("/submit", methods=["GET", "POST"])
def submit():
    return "ok"

Varför GET måste anges uttryckligen

När du anger methods försvinner den implicita GET-metoden. Om du fortfarande vill tillåta GET måste du själv ta med den i listan.

En route som endast tillåter POST

Vissa endpoints ska aldrig leverera en sida. Gör en route till en POST-only-route genom att bara ange POST, så avvisas GET-requests.

@app.route("/api/items", methods=["POST"])
def create_item():
    return "created"

Verb är strängar med versaler

Flask förväntar sig varje verb som en sträng med versaler, till exempel "GET" eller "POST". Poster med gemener matchar helt enkelt inte inkommande requests.

HEAD följer med automatiskt

När du tillåter GET svarar Flask även automatiskt på HEAD. HEAD returnerar samma headers som GET, men utan body.

OPTIONS läggs också till

Flask hanterar även OPTIONS automatiskt och svarar med en Allow-header som listar metoderna som din route accepterar.

Bortom GET och POST

API:er behöver ofta fler verb. Du kan på samma sätt ange PUT, PATCH eller DELETE för att stödja uppdatering och borttagning av resurser.

@app.route("/api/items/<id>", methods=["PUT", "DELETE"])
def edit_item(id):
    return "changed"

En funktion, många metoder

En enda view kan acceptera flera verb samtidigt. Inuti den bestämmer du vad varje verb ska göra, allt från en funktion.

Matcha verbet med avsikten

Använd GET för att läsa och POST för att skapa. Genom att välja rätt verb blir ditt API förutsägbart för varje klient som anropar det.

Fel verb ger ingen matchning

Om en klient använder ett verb som du aldrig har angett avvisar Flask requesten helt. Att deklarera methods är din första åtkomstkontroll.

Snabbkontroll

Tänk på vad som händer med GET när du anger methods.

Sammanfattning

Rutter använder GET som standard, men listan methods låter dig acceptera POST, PUT och fler metoder. Ange GET själv om du fortfarande behöver den. Snyggt jobbat! 🎉

Gratis att börja

Lär dig Python med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
30
Lektioner
120

Vanliga frågor

Är lektionen ”Ange tillåtna metoder för en route” gratis?

Ja – hela texten till ”Ange tillåtna metoder för en route” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Flask Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i Flask Academy innehåller totalt 4 lektioner.

Vad lär jag mig i ”Ange tillåtna metoder för en route”?

Skicka methods till @app.route för GET och POST. Ni övar på Flask Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Flask Academy?

Du behöver inga förkunskaper. Utbildningen i Flask Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 1 av 4.

Hur lång tid tar lektionen ”Ange tillåtna metoder för en route”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Flask Academy-lektionen?

Ja. Varje Flask Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Ange tillåtna metoder för en route
  2. Förgrena logiken med request.method
  3. Läs POST-data från kroppen
  4. 405 Method Not Allowed förklarat
← Tillbaka till Flask Academy