Criar uma API é uma habilidade essencial para desenvolvedores que desejam disponibilizar funcionalidades de suas aplicações para outros serviços ou usuários. Neste artigo, vamos explorar como criar uma API simples utilizando Flask, um micro framework de web para Python.
1. Introdução
Flask é um framework leve e fácil de usar, ideal para criar APIs e pequenas aplicações web. Vamos criar uma API que realiza operações básicas de CRUD (Create, Read, Update, Delete) em um banco de dados fictício de usuários.
Bibliotecas Necessárias
Certifique-se de ter as bibliotecas necessárias instaladas
pip install flask
2. Estrutura do Projeto
Organize seu projeto com a seguinte estrutura:
project/ │ ├── app.py └── requirements.txt
3. Criando a API com Flask
Código da API
No arquivo app.py, adicione o seguinte código:
from flask import Flask, request, jsonify app = Flask(__name__) # Banco de dados fictício users = [ {'id': 1, 'name': 'Alice', 'email': '[email protected]'}, {'id': 2, 'name': 'Bob', 'email': '[email protected]'} ] # Endpoint para obter todos os usuários @app.route('/users', methods=['GET']) def get_users(): return jsonify(users) # Endpoint para obter um usuário pelo ID @app.route('/users/<int:user_id>', methods=['GET']) def get_user(user_id): user = next((user for user in users if user['id'] == user_id), None) if user: return jsonify(user) return jsonify({'message': 'User not found'}), 404 # Endpoint para adicionar um novo usuário @app.route('/users', methods=['POST']) def add_user(): new_user = request.get_json() new_user['id'] = users[-1]['id'] + 1 if users else 1 users.append(new_user) return jsonify(new_user), 201 # Endpoint para atualizar um usuário existente @app.route('/users/<int:user_id>', methods=['PUT']) def update_user(user_id): user = next((user for user in users if user['id'] == user_id), None) if user: data = request.get_json() user.update(data) return jsonify(user) return jsonify({'message': 'User not found'}), 404 # Endpoint para deletar um usuário @app.route('/users/<int:user_id>', methods=['DELETE']) def delete_user(user_id): global users users = [user for user in users if user['id'] != user_id] return jsonify({'message': 'User deleted'}) if __name__ == '__main__': app.run(debug=True)
Executando a API
Para iniciar a API, execute o seguinte comando no terminal dentro do diretório do projeto:
python app.py
A API estará disponível em http://127.0.0.1:5000.
4. Testando a API
Você pode usar curl ou uma ferramenta como Postman para testar os endpoints da API.
4.1. Obter Todos os Usuários
curl -X GET http://127.0.0.1:5000/users
4.2. Obter um Usuário pelo ID
curl -X GET http://127.0.0.1:5000/users/1
4.3. Adicionar um Novo Usuário
curl -X POST -H "Content-Type: application/json" -d '{"name": "Charlie", "email": "[email protected]"}' http://127.0.0.1:5000/users
4.4. Atualizar um Usuário Existente
curl -X PUT -H "Content-Type: application/json" -d '{"name": "Charlie Brown", "email": "[email protected]"}' http://127.0.0.1:5000/users/3
4.5. Deletar um Usuário
curl -X DELETE http://127.0.0.1:5000/users/3
5. Conclusão
Neste artigo, criamos uma API simples usando Flask que realiza operações básicas de CRUD em um banco de dados fictício de usuários. Passamos pela criação da estrutura do projeto, implementação dos endpoints e testes com curl.
Este exercício fornece uma base sólida para entender como APIs funcionam e como integrá-las em suas aplicações. Continue explorando e adicionando funcionalidades mais complexas à sua API conforme avança no aprendizado de Flask e desenvolvimento web.