LeoBabaresco/banco-api

GitHub: LeoBabaresco/banco-api

一个使用 Go 和 PostgreSQL 构建的银行操作 REST API,提供账户管理与存取款、转账等核心银行交易功能。

Stars: 1 | Forks: 0

# 🏦 Banco API 使用 **Go** 开发并以 **PostgreSQL** 为数据库的银行操作 REST API。 ## 🚀 技术栈 - Go 1.22 - PostgreSQL 16 - Docker - CSRF 保护 ## 📋 功能 - 创建账户(个人或法人) - 查询余额 - 存款 - 取款 - 账户间转账 - 注销账户 ## 🗄️ 项目结构 banco-api/ ├── cmd/main.go ├── internal/ │ ├── db/db.go │ ├── handlers/conta.go │ ├── middleware/csrf.go │ └── models/models.go └── migrations/ ├── 001_create_tables.up.sql └── 001_create_tables.down.sql ## ⚙️ 运行方式 ### 前置条件 - Go 1.22+ - Docker ### 1. 启动数据库 ``` docker run -d --name banco-postgres -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=postgres -e POSTGRES_DB=banco_db -p 5432:5432 postgres:16 ``` ### 2. 运行服务器 ``` go run ./cmd/main.go ``` ## 🔒 CSRF 保护 所有写操作都需要在 `X-CSRF-Token` 请求头中提供 CSRF token。 获取 token: GET /csrf-token ## 📡 路由 | 方法 | 路由 | 描述 | |--------|------|-----------| | POST | `/conta` | 创建账户 | | GET | `/conta/{id}/saldo` | 查询余额 | | POST | `/conta/{id}/deposito` | 存款 | | POST | `/conta/{id}/saque` | 取款 | | POST | `/conta/transferencia` | 转账 | | DELETE | `/conta/{id}` | 注销账户 |
标签:CSRF防护, Docker, EVTX分析, Go, PostgreSQL, RESTful API, Ruby工具, Syscall, Web开发, 安全防御评估, 提示词优化, 日志审计, 测试用例, 请求拦截, 金融业务