Declare métodos permitidos em uma rota
Passe métodos para @app.route a fim de usar GET e POST.
Declare métodos permitidos em uma rota é uma aula grátis de Flask Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Flask Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Flask Academy inclui 4 aulas no total.
As rotas usam GET por padrão
Todas as rotas Flask que você escreveu até agora respondem apenas a requisições GET. Os navegadores usam GET para buscar páginas, então esse é o padrão natural.
O argumento methods
Para aceitar outros verbos, passe uma lista de métodos ao decorador da rota. Ela informa ao Flask exatamente quais verbos HTTP a função de visualização tratará.
@app.route("/submit", methods=["GET", "POST"])
def submit():
return "ok"Por que listar GET explicitamente
Quando você define métodos, o GET implícito desaparece. Se ainda quiser aceitar GET, deverá incluí-lo na lista.
Uma rota exclusiva para POST
Alguns endpoints nunca devem fornecer uma página. Torne uma rota exclusiva para POST listando apenas POST; assim, as requisições GET serão recusadas.
@app.route("/api/items", methods=["POST"])
def create_item():
return "created"Os verbos são strings em maiúsculas
O Flask espera cada verbo como uma string em maiúsculas, como "GET" ou "POST". Entradas em minúsculas simplesmente não corresponderão às requisições recebidas.
HEAD vem automaticamente
Quando você permite GET, o Flask também responde a HEAD automaticamente. HEAD retorna os mesmos cabeçalhos que GET, mas sem corpo.
OPTIONS também é adicionado
O Flask também trata OPTIONS automaticamente, respondendo com um cabeçalho Allow que lista os métodos aceitos pela sua rota.
Além de GET e POST
As APIs geralmente precisam de mais verbos. Você pode listar PUT, PATCH ou DELETE da mesma forma para permitir a atualização e a remoção de recursos.
@app.route("/api/items/<id>", methods=["PUT", "DELETE"])
def edit_item(id):
return "changed"Uma função, vários métodos
Uma única função de visualização pode aceitar vários verbos ao mesmo tempo. Dentro dela, você decide o que cada verbo faz, tudo a partir de uma função.
Associe o verbo à intenção
Use GET para ler e POST para criar. Escolher o verbo correto mantém sua API previsível para todos os clientes que a chamam.
Verbo errado, nenhuma correspondência
Se um cliente usar um verbo que você nunca listou, o Flask recusará a requisição por completo. Declarar os métodos é sua primeira linha de controle de acesso.
Verificação rápida
Pense no que acontece com GET quando você define os métodos.
Recapitulação
As rotas usam GET por padrão, mas a lista de métodos permite aceitar POST, PUT e outros. Liste GET manualmente se ainda precisar dele. Muito bem! 🎉
Aprenda Python com um tutor de IA — grátis
Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.
- Cursos
- 30
- Aulas
- 120
Perguntas Frequentes
A aula “Declare métodos permitidos em uma rota” é grátis?
Sim — o texto completo de “Declare métodos permitidos em uma rota” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Flask Academy, atualize para CoddyKit PRO. O curso de Flask Academy inclui 4 aulas no total.
O que vou aprender em “Declare métodos permitidos em uma rota”?
Passe métodos para @app.route a fim de usar GET e POST. Você pratica Flask Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Flask Academy?
Nenhuma experiência prévia é necessária. Flask Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.
Quanto tempo leva a aula “Declare métodos permitidos em uma rota”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Flask Academy?
Sim. Cada aula de Flask Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Declare métodos permitidos em uma rota
- Lógica condicional por request.method
- Leia dados POST do corpo
- 405 Método não permitido explicado