# cloud **Repository Path**: hxf88/cloud ## Basic Information - **Project Name**: cloud - **Description**: 算法小生 示例代码! - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2023-11-20 - **Last Updated**: 2026-06-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Cloud Backend service project for cloud platform - A microservices-based authentication and user management backend API built on Spring Boot. ## Project Overview Cloud is an enterprise-grade cloud platform backend service built using the Spring Boot framework, providing complete user authentication and permission management functionality. The project adopts a microservices architecture design, comprising three modules: API service, Feign client, and common components. ## Technology Stack - **Framework**: Spring Boot 3.x - **Persistence Layer**: MyBatis Plus - **Security**: Spring Security + JWT - **Service Invocation**: Spring Cloud OpenFeign - **API Documentation**: SpringDoc OpenAPI - **Build Tool**: Gradle ## Module Description ### api Module The main business API service module, providing RESTful interfaces. **Core Package Structure**: - `online.shenjian.cloud.api.config` - Global configuration (security, exception handling, MyBatis Plus) - `online.shenjian.cloud.api.controller` - REST controllers - `online.shenjian.cloud.api.service` - Business service layer - `online.shenjian.cloud.api.mapper` - Data access layer - `online.shenjian.cloud.api.model` - Data models - `online.shenjian.cloud.api.utils` - Utility classes ### client Module Feign client module for other services to invoke this system. - `CloudClient` - User service Feign client - `UserDto` - User information data transfer object - `LoginUserDto` - Login user information - `ResponseVo` - Unified response structure ### common Module Common utility module providing general-purpose DTO conversion and other functions. ## Core Features ### User Authentication - User login (via JWT Token) - Token validation and parsing - Role-Based Access Control (RBAC) ### Global Handling - Unified response format encapsulation - Global exception handling - Request parameter validation ### API Documentation Integrated with SpringDoc OpenAPI to automatically generate RESTful API documentation. ## Quick Start ### Environment Requirements - JDK 17+ - Gradle 8.x ### Build the Project ```bash # Build all modules ./gradlew build # Run the API service ./gradlew :api:bootRun ``` ### Configuration Details Configuration files are located at `api/src/main/resources/`: - `application.yml` - Main configuration - `application-dev.yml` - Development environment configuration - `bootstrap.yml` - Bootstrap configuration ### Database Initialization Execute the SQL script to create the user table: ```bash mysql -u root -p < api/src/main/resources/sql/user.sql ``` ## API Endpoints ### User Login ``` POST /api/login Content-Type: application/json { "username": "username", "password": "password" } ``` ### Token Test ``` GET /api/testToken Authorization: Bearer ``` ## Response Format ```json { "code": 200, "message": "success", "data": {} } ``` ## Security Configuration The project uses JWT for authentication: - Token signing key is configurable - Token expiration time is configurable - Supports anonymous access whitelist - Custom permission denial handling ## License This project is intended solely for learning and communication purposes.