Skip to content

Commit 5ef0b39

Browse files
Add code descriptions
1 parent df2c342 commit 5ef0b39

File tree

1 file changed

+40
-18
lines changed

1 file changed

+40
-18
lines changed

service_dev.py

+40-18
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,17 @@
11
# O código começa importando as bibliotecas necessárias - Flask, jsonify e request do módulo flask, e o módulo json
22
from flask import Flask, jsonify, request
3-
import json # Biblioteca para utilizar json no código
3+
import json # Biblioteca para utilizar json no código
44

5-
# Cria uma instância do aplicativo Flask
6-
# Refere-se à inicialização do aplicativo Flask.
7-
# * app = Flask(__name__) é a linha de código que cria uma nova instância do aplicativo Flask. Aqui, Flask é a classe do aplicativo Flask e __name__ é um argumento especial que é necessário.
8-
# * __name__ é uma variável embutida em Python, que é avaliada como o nome do módulo atual. No caso de um script sendo executado diretamente, __name__ é definido como '__main__'.
9-
# * Ao usar __name__ como argumento na classe Flask, você está essencialmente dizendo ao aplicativo Flask para configurar algumas coisas por trás das cenas para que ele possa encontrar outros arquivos e diretórios no seu aplicativo.
10-
# * A instância do aplicativo Flask, que é um objeto da classe Flask, tem métodos e atributos que são usados para gerenciar o aplicativo, como iniciar o servidor de desenvolvimento, definir rotas, gerenciar solicitações e respostas, etc.
5+
# Cria uma instância do aplicativo Flask Refere-se à inicialização do aplicativo Flask. * app = Flask(__name__) é a
6+
# linha de código que cria uma nova instância do aplicativo Flask. Aqui, Flask é a classe do aplicativo Flask e
7+
# __name__ é um argumento especial que é necessário. * __name__ é uma variável embutida em Python, que é avaliada
8+
# como o nome do módulo atual. No caso de um script sendo executado diretamente, __name__ é definido como '__main__'.
9+
# * Ao usar __name__ como argumento na classe Flask, você está essencialmente dizendo ao aplicativo Flask para
10+
# configurar algumas coisas por trás das cenas para que ele possa encontrar outros arquivos e diretórios no seu
11+
# aplicativo.
12+
# * A instância do aplicativo Flask, que é um objeto da classe Flask, tem métodos e atributos que são
13+
# usados para gerenciar o aplicativo, como iniciar o servidor de desenvolvimento, definir rotas, gerenciar
14+
# solicitações e respostas, etc.
1115
app = Flask(__name__)
1216

1317
# Lista de dicionários onde cada dicionário representa um desenvolvedor
@@ -27,9 +31,11 @@
2731

2832

2933
# Devolve um desenvolvedor pelo ID, também altera e deleta um desenvolvedor
30-
@app.route('/dev/<int:id>/', methods=['GET', 'PUT', 'DELETE']) # Esta rota lida com as operações GET, PUT e DELETE para um desenvolvedor específico identificado pelo id
34+
# Esta rota lida com as operações GET, PUT e DELETE para um desenvolvedor específico identificado pelo id
35+
@app.route('/dev/<int:id>/', methods=['GET', 'PUT', 'DELETE'])
3136
def developer(id):
32-
if request.method == 'GET': # Retorna os detalhes do desenvolvedor com o id especificado. Se o id não existir, retorna uma mensagem de erro
37+
# Retorna os detalhes do desenvolvedor com o id especificado. Se o id não existir, retorna uma mensagem de erro
38+
if request.method == 'GET':
3339
try:
3440
response = developers[id]
3541
except IndexError:
@@ -39,28 +45,44 @@ def developer(id):
3945
message = 'Erro desconhecido.'
4046
response = {'status': 'erro', 'mensagem': message}
4147
return jsonify(response)
42-
elif request.method == 'PUT': # Atualiza os detalhes do desenvolvedor com o id especificado com os novos dados recebidos no corpo da solicitação
48+
# Atualiza os detalhes do desenvolvedor com o id especificado com os novos dados recebidos no corpo da solicitação
49+
elif request.method == 'PUT':
4350
dados = json.loads(request.data)
4451
developers[id] = dados
45-
elif request.method == 'DELETE': # Remove o desenvolvedor com o id especificado da lista de desenvolvedores
52+
elif request.method == 'DELETE': # Remove o desenvolvedor com o id especificado da lista de desenvolvedores
4653
developers.pop(id)
4754
return jsonify({'status': 'sucesso', 'mensagem': 'Registro excluído'})
4855

4956

5057
# Lista todos os desenvolvedores e permite registrar um novo desenvolvedor
51-
@app.route('/dev/', methods=['POST', 'GET']) # Esta rota lida com as operações POST e GET para a lista de desenvolvedores
58+
@app.route('/dev/',
59+
methods=['POST', 'GET']) # Esta rota lida com as operações POST e GET para a lista de desenvolvedores
5260
def developer_list():
53-
if request.method == 'POST': # Adiciona um novo desenvolvedor à lista. O id do novo desenvolvedor é a posição atual na lista
61+
# Adiciona um novo desenvolvedor à lista. O id do novo desenvolvedor é a posição atual na lista
62+
if request.method == 'POST':
5463
dados = json.loads(request.data)
5564
position = len(developers)
5665
dados['id'] = position
5766
developers.append(dados)
5867
return jsonify(developers[position])
59-
elif request.method == 'GET': # Retorna a lista completa de desenvolvedores
68+
elif request.method == 'GET': # Retorna a lista completa de desenvolvedores
6069
return jsonify(developers)
6170

62-
# * if __name__ == '__main__': é uma construção comum em scripts Python. Quando o interpretador Python lê um arquivo de origem, ele executa todo o código que encontra no arquivo. Antes de executar o código, ele define algumas variáveis especiais. Por exemplo, se o interpretador Python está executando esse módulo (o arquivo de origem) como o programa principal, ele define a variável especial __name__ para ter um valor "__main__". Se este arquivo está sendo importado de outro módulo, __name__ será definido para o nome do arquivo do módulo.
63-
# * app.run(debug=True) é usado para iniciar o servidor de desenvolvimento local do Flask. O argumento debug=True é usado para iniciar o aplicativo em modo de depuração. Quando o modo de depuração está ativado, o servidor será reiniciado para cada alteração de código e fornecerá informações úteis de depuração caso ocorra um erro.
64-
# Portanto, a linha if __name__ == '__main__': app.run(debug=True) significa que se este script for executado no terminal (ou seja, não importado como um módulo em outro script), então o servidor de desenvolvimento Flask será iniciado no modo de depuração. Isso é útil para desenvolvimento, mas não é recomendado para produção. Para produção, você deve usar um servidor WSGI adequado.
65-
if __name__ == '__main__': # Inicia o servidor de desenvolvimento do Flask se o script for executado diretamente (não importado como um módulo)
71+
72+
# * if __name__ == '__main__': é uma construção comum em scripts Python. Quando o interpretador Python lê um arquivo
73+
# de origem, ele executa t0do o código que encontra no arquivo. Antes de executar o código, ele define algumas
74+
# variáveis especiais. Por exemplo, se o interpretador Python está executando esse módulo (o arquivo de origem) como
75+
# o programa principal, ele define a variável especial __name__ para ter um valor "__main__". Se este arquivo está
76+
# sendo importado de outro módulo, __name__ será definido para o nome do arquivo do módulo.
77+
# * app.run(debug=True) é
78+
# usado para iniciar o servidor de desenvolvimento local do Flask. O argumento debug=True é usado para iniciar o
79+
# aplicativo em modo de depuração. Quando o modo de depuração está ativado, o servidor será reiniciado para cada
80+
# alteração de código e fornecerá informações úteis de depuração caso ocorra um erro. Portanto, a linha if __name__
81+
# == '__main__': app.run(debug=True) significa que se este script for executado no terminal (ou seja, não importado
82+
# como um módulo em outro script), então o servidor de desenvolvimento Flask será iniciado no modo de depuração.
83+
# Isso é útil para desenvolvimento, mas não é recomendado para produção. Para produção, você deve usar um servidor
84+
# WSGI adequado.
85+
86+
# Inicia o servidor de desenvolvimento do Flask se o script for executado diretamente (não importado como um módulo)
87+
if __name__ == '__main__':
6688
app.run(debug=True)

0 commit comments

Comments
 (0)