Files
flvx/springboot-backend/AGENTS.md
T

1.6 KiB

SPRINGBOOT BACKEND KNOWLEDGE BASE

Generated: Mon Feb 02 2026

OVERVIEW

Admin API for Flux Panel. Manages users, tunnels, nodes, forwards, quotas, and speed limits. Stack: Java 21, Spring Boot 2.7.18, SQLite, MyBatis Plus (+ join), FastJSON2.

STRUCTURE

springboot-backend/
├── src/main/java/com/admin/
│   ├── controller/      # /api/v1/* endpoints
│   ├── entity/          # DB models
│   ├── mapper/          # MyBatis Plus mappers
│   ├── service/         # Business logic
│   ├── config/          # WebMvc/JWT/CORS/WebSocket config
│   └── common/          # DTOs, auth, exception handling, utilities
└── src/main/resources/
    ├── application.yml  # Config (DB_PATH/JWT_SECRET/LOG_DIR)
    ├── mapper/          # XML mappers
    ├── schema.sql       # Schema
    └── data.sql         # Seed data

CONVENTIONS

  • DB: SQLite URL is jdbc:sqlite:${DB_PATH:/app/data/gost.db} (springboot-backend/src/main/resources/application.yml).
  • Auth: JWT in Authorization header; enforced by com.admin.common.interceptor.JwtInterceptor for /api/** (with explicit excludes in com.admin.config.WebMvcConfig).
  • Roles: @RequireRole means admin-only (role_id == 0) via com.admin.common.aop.RoleAspect.
  • Responses: Controllers return com.admin.common.lang.R (code == 0 success).
  • CORS: Allow-all origins; Authorization is exposed (com.admin.config.WebMvcConfig).

COMMANDS

cd springboot-backend
mvn clean package
mvn test
java -jar target/admin-0.0.1-SNAPSHOT.jar