Métodos HTTP Flask

Neste artigo, vamos explorar os diferentes métodos Flask HTTP e como usá-los em seus aplicativos da web com exemplos.

O protocolo HTTP forma a base da comunicação de dados na Internet e fornece vários métodos de obtenção de dados de um determinado URL.

Os métodos HTTP especificam o tipo de solicitação enviada ao servidor e são comumente usados, incluindo GET , POST , PUT , DELETE e HEAD .

Cada método atende a uma finalidade específica e pode ser utilizado para uma variedade de operações no servidor.

Métodos Visão geral
PEGAR O método mais utilizado envolve o envio de dados para o servidor sem nenhuma criptografia
CABEÇA Semelhante ao método GET, exceto que não inclui um corpo de resposta.
PUBLICAR Este método é empregado para enviar dados de formulário HTML para o servidor e, ao contrário de outros métodos, os dados recebidos pelo método POST não são armazenados em cache pelo servidor.
COLOCAR Este método substitui todas as representações presentes do recurso designado pelo conteúdo que foi carregado.
EXCLUIR Este método elimina todas as representações presentes do recurso identificado por uma URL.


Método GET

O método GET é usado para solicitar dados ao servidor.

Quando alguém envia uma solicitação GET, o servidor obtém os dados e os envia de volta para a pessoa que os solicitou.

O método GET é usado principalmente para obter informações de bancos de dados ou outros locais onde as informações são armazenadas.

No Flask, o método GET pode ser usado com o decorador @app.route.

Example: 

1
2
3
4
5
6
7
8
9
10
11
12
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello, World!'
if __name__ == '__main__':
app.run()
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Método POST

O método POST é usado para fornecer dados ao servidor.

Quando alguém envia uma solicitação POST, o servidor pega os dados e os processa.

O método POST geralmente é usado para adicionar novas informações a um banco de dados ou atualizar informações existentes.

No Flask, o método POST usa o atributo request.form.

Example: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
from flask import Flask, request
app = Flask(__name__)
@app.route('/login', methods=['POST'])
def login():
username = request.form['username']
password = request.form['password']
# perform authentication here
return 'Logged in successfully!'
if __name__ == '__main__':
app.run()
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Método PUT

O método PUT é usado para atualizar informações que já estão armazenadas no servidor.

Quando alguém envia uma solicitação PUT, o servidor pega os dados e altera as informações especificadas.

No Flask, o método PUT usa o atributo request.form.

Example: 

1
2
3
4
5
6
7
8
9
10
11
12
13
from flask import Flask, request
app = Flask(__name__)
@app.route('/user/<int:user_id>', methods=['PUT'])
def update_user(user_id):
# update user data in the database here
return f'User {user_id} updated successfully!'
if __name__ == '__main__':
app.run()
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Método DELETE

O método DELETE é usado para remover informações do servidor.

Quando alguém envia uma solicitação DELETE, o servidor encontra as informações e as remove.

No Flask, o método DELETE usa o atributo request.form.

Example: 

1
2
3
4
5
6
7
8
9
10
11
12
13
from flask import Flask, request
app = Flask(__name__)
@app.route('/user/<int:user_id>', methods=['DELETE'])
def delete_user(user_id):
# delete user data from the database here
return f'User {user_id} deleted successfully!'
if __name__ == '__main__':
app.run()
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Método HEAD

O método HEAD é semelhante ao método GET, mas retorna apenas os cabeçalhos da resposta sem o conteúdo real.

Isso é útil quando você precisa verificar se um recurso existe ou se foi alterado sem fazer o download de todo o recurso.

No Flask, o método HEAD usa o decorador @app.route .

Por padrão, a rota Flask é configurada para responder a solicitações GET , mas pode ser alterada passando um argumento de método para o decorador route() .

Para ilustrar o uso do método POST no roteamento de URL , começaremos projetando um formulário HTML e utilizando o método POST para enviar os dados do formulário para um URL.

Faça um formulário simples com html e nomeie o arquivo form.html:

Example: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<html>
<body>
<form action = "http://localhost:5000/form" method = "post">
<label for="nm">Name: </label>
<input type = "text" name = "nm" />
<label for="pw">Password: </label>
<input type = "password" name = "pw" />
<input type = "submit" value = "submit" />
</form>
</body>
</html>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Agora você pode inserir o seguinte código de programa no shell do Python.

Example: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
from flask import Flask, redirect, url_for,request
app = Flask(__name__)
@app.route('/display/<name>/<password>')
def submit(name, password):
return f'Name: {name}, Password: {password}'
@app.route('/form/',methods = ['GET','POST'])
def form():
if request.method == 'POST':
nm = request.form['nm']
pw = request.form['pw']
return redirect(url_for('submit', name = nm, password = pw))
else:
nm = request.args.get('nm')
pw = request.args.get('pw')
return redirect(url_for('submit', name = nm, password = pw))
if __name__ == '__main__':
app.run(debug = True)
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Depois de iniciar o servidor de desenvolvimento, abra o arquivo “ form.html ” em seu navegador da web.

Digite seu nome no espaço em branco fornecido na página e clique no botão “ Enviar ”. Isso enviará os dados inseridos para o URL especificado no atributo “action” da tag de formulário HTML .

Neste caso, a URL é “ http://localhost/form “, que está conectada à função “ form() ”. Como os dados estão sendo enviados através do método POST, os valores dos parâmetros “ nm ” e “ pw ” nos dados do formulário podem ser recuperados.

nm = request.form['nm']
pw = request.form['pw']

A parte variável é enviada para a URL “ /submit ”. Como resultado, o navegador da web mostra uma janela com um campo para inserir um nome e uma senha.

Modifique o parâmetro “ method ” no arquivo “ form.html ” para “ GET “ e reabra o arquivo em seu navegador da web.

Desta vez, os dados enviados ao servidor serão retornados através do método GET. Os valores dos parâmetros “nm” e “pw” agora podem ser calculados utilizando este método.

nm = request.args.get('nm')
pw = request.args.get('pw')

Neste cenário, “ args ” é um objeto de dicionário que contém um conjunto de pares de parâmetros de formulário e seus respectivos valores.

O valor que pertence aos parâmetros “nm” e “pw” é enviado para a URL “/submit” como antes.

Veja o exemplo da calculadora de métodos HTTP que fornecem a soma de dois números.

Primeiro crie o arquivo form.html:

Example: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<html>
<body>
<h1>CALCULATOR</h1>
<form action = "http://localhost:5000/form" method = "post">
<label for="num1">First value: </label>
<input type = "number" name = "num1" />
<label for="num2">Second Value: </label>
<input type = "number" name = "num2" />
<input type = "submit" value = "Add" />
</form>
</body>
</html>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Em um shell python, execute o código abaixo:

Example: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
from flask import Flask, redirect, url_for,request
app = Flask(__name__)
@app.route('/sum/<int:num1>/<int:num2>')
def submit(num1, num2):
return f'Sum of {num1} and {num2}: {num1+num2}'
@app.route('/form/',methods = ['GET','POST'])
def form():
if request.method == 'POST':
n1 = request.form['num1']
n2 = request.form['num2']
return redirect(url_for('submit', num1 = n1, num2 = n2))
else:
n1 = request.args.get('num1')
n2 = request.args.get('num2')
return redirect(url_for('submit', num1 = n1, num2 = n2))
if __name__ == '__main__':
app.run(debug = True)
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Explicação do exemplo acima

  • O código é um exemplo de um aplicativo Flask que executa operações aritméticas básicas.
  • A aplicação possui duas rotas: “ /sum ” e “ /form ”.
  • A rota “/sum” aceita dois parâmetros inteiros, “num1” e “num2”, que são passados ​​como parte da URL. Quando esta rota é acessada, retorna a soma de “ num1 ” e “ num2 ”.
  • A rota “ /form ” aceita requisições GET e POST .
  • Quando a rota “/form” é acessada através do método POST , os valores “num1” e “num2” são obtidos dos dados do formulário submetido.
  • A rota então redireciona para a rota “ /sum ” com os valores de “num1” e “num2” passados ​​como parâmetros.
  • Quando a rota “/form” é acessada pelo método GET, os valores “num1” e “num2” são obtidos dos parâmetros de consulta na URL.
  • Novamente, a rota redireciona para a rota “/sum” com os valores de “num1” e “num2” passados ​​como parâmetros.
  • Por fim, a instrução “ if name == 'main ':” é usada para iniciar o aplicativo Flask no modo de depuração quando o script é executado diretamente.

Benefícios dos Métodos HTTP Flask

A seguir estão algumas vantagens de utilizar os métodos Flask HTTP:

  • O Flask permite que você defina métodos HTTP para rotas específicas, o que pode melhorar a segurança ao permitir apenas que métodos autorizados acessem determinadas rotas.
  • Você pode aproveitar a flexibilidade do Flask para definir métodos HTTP personalizados, que podem ajudá-lo a construir aplicativos da Web mais complexos que exigem funcionalidades mais específicas.
  • Os métodos HTTP do Flask são fáceis de usar e compreender, facilitando a criação de aplicativos da Web simples de manter e atualizar.
  • Você pode melhorar o desempenho utilizando os métodos Flask HTTP, que permitem usar o método apropriado para cada tarefa, reduzindo o número de solicitações e respostas desnecessárias.
  • Os métodos HTTP do Flask podem ajudá-lo a escrever um código mais limpo, separando a lógica de cada método e facilitando a compreensão e a depuração.

Conclusão

Como desenvolvedor, você pode aproveitar o suporte do Flask para uma variedade de métodos HTTP, o que oferece diversas vantagens. Esses benefícios incluem segurança aprimorada, flexibilidade, simplicidade, melhor desempenho e manutenção mais fácil do código. Com a disponibilidade dos métodos Flask HTTP, você pode criar aplicativos da Web seguros, eficazes e gerenciáveis, tornando-os uma opção popular para suas iniciativas de desenvolvimento da Web.

Nós valorizamos o seu feedback.
+1
0
+1
0
+1
0
+1
0
+1
0
+1
0
+1
0

Assine a nossa newsletter
Digite seu e-mail para receber um resumo semanal de nossos melhores posts. Saber mais!
ícone