How riya2309ai/student-api-backend works
Student API Backend is a Spring Boot REST service for student and department records, with signup/login and JWT-based access control. The main workflow is an API client calling a controller, which delegates to a service for validation/mapping and persistence through Spring Data JPA to MySQL; student endpoints also support paging, sorting, search, and age filtering. Authentication is a separate workflow for signup and token issuance, with a JWT filter handling authenticated requests. Edges reflect excerpts, indexed references, or README statements; unsampled details and some runtime configuration are not inferred.
Main entry points: AuthController.java Auth endpoints · UserRepository.java User repository · StudentService.java Student service · GlobalExceptionHandler.java Error handling
Components 21
REST API
- Student endpoints
src/main/java/com/riya/studentapi/controller/StudentController.java - Department endpoints
src/main/java/com/riya/studentapi/controller/DepartmentController.java - Auth endpoints
src/main/java/com/riya/studentapi/controller/AuthController.java - API DTOs
src/main/java/com/riya/studentapi/dto - API response
src/main/java/com/riya/studentapi/response/ApiResponse.java - Error handling
src/main/java/com/riya/studentapi/handler/GlobalExceptionHandler.java
Domain Services
- Student service
src/main/java/com/riya/studentapi/service/StudentService.java - Department service
src/main/java/com/riya/studentapi/service/DepartmentService.java - Student records
src/main/java/com/riya/studentapi/entity - Missing student error
src/main/java/com/riya/studentapi/exception/StudentNotFoundException.java
Authentication
- Signup service
src/main/java/com/riya/studentapi/service/AuthService.java - User lookup
src/main/java/com/riya/studentapi/service/CustomUserDetailsService.java - JWT filter
src/main/java/com/riya/studentapi/security/JwtAuthenticationFilter.java - JWT service
src/main/java/com/riya/studentapi/security/JwtService.java - Security config
src/main/java/com/riya/studentapi/config/SecurityConfig.java - Security handlers
src/main/java/com/riya/studentapi/security
Persistence
- Student repository
src/main/java/com/riya/studentapi/repository/StudentRepository.java - Department repository
src/main/java/com/riya/studentapi/repository/DepartmentRepository.java - User repository
src/main/java/com/riya/studentapi/repository/UserRepository.java
Other components
- API client
- MySQL
Connections 21
- API client → Student endpoints: calls
README.md - API client → Department endpoints: calls
README.md - API client → Auth endpoints: calls
README.md - Student endpoints → Student service: delegates to
src/main/java/com/riya/studentapi/controller/StudentController.java - Department endpoints → Department service: delegates to
src/main/java/com/riya/studentapi/controller/DepartmentController.java - Auth endpoints → Signup service: signs up via
src/main/java/com/riya/studentapi/controller/AuthController.java - Auth endpoints → User repository: looks up user
src/main/java/com/riya/studentapi/controller/AuthController.java - Auth endpoints → JWT service: issues token
src/main/java/com/riya/studentapi/controller/AuthController.java - Student service → Student repository: queries and saves
src/main/java/com/riya/studentapi/service/StudentService.java - Department service → Department repository: queries and saves
src/main/java/com/riya/studentapi/service/DepartmentService.java - Signup service → User repository: saves and finds
src/main/java/com/riya/studentapi/service/AuthService.java - Student service → Missing student error: throws
src/main/java/com/riya/studentapi/service/StudentService.java - Error handling → Missing student error: handles
src/main/java/com/riya/studentapi/handler/GlobalExceptionHandler.java - Error handling → API response: builds response
src/main/java/com/riya/studentapi/handler/GlobalExceptionHandler.java - Security config → JWT filter: configures
src/main/java/com/riya/studentapi/config/SecurityConfig.java - Security config → Security handlers: configures handlers
src/main/java/com/riya/studentapi/config/SecurityConfig.java - JWT filter → JWT service: validates token
src/main/java/com/riya/studentapi/security/JwtAuthenticationFilter.java - User lookup → User repository: loads users
src/main/java/com/riya/studentapi/service/CustomUserDetailsService.java - Student repository → MySQL: persists via JPA
README.md - Department repository → MySQL: persists via JPA
README.md - User repository → MySQL: persists via JPA
README.md