|
1 week geleden | |
---|---|---|
.. | ||
data | 1 week geleden | |
src | 1 week geleden | |
target | 1 week geleden | |
uploads | 1 week geleden | |
AI学习搭子需求文档.md | 1 week geleden | |
API接口使用说明.md | 1 week geleden | |
README.md | 1 week geleden | |
pom.xml | 1 week geleden | |
数据库表文档.md | 1 week geleden |
这是一个基于 Spring Boot 和 JPA 的后端接口框架,为 Android 应用提供用户管理相关的 REST API。
src/main/java/com/example/baseserver/
├── BaseServerApplication.java # 主启动类
├── config/
│ ├── DataInitializer.java # 数据初始化
│ └── WebConfig.java # Web配置(CORS等)
├── controller/
│ └── UserController.java # 用户控制器
├── dto/
│ ├── ApiResponse.java # 统一响应格式
│ ├── UserDTO.java # 用户数据传输对象
│ └── UserRequest.java # 用户请求对象
├── entity/
│ └── User.java # 用户实体
├── exception/
│ └── GlobalExceptionHandler.java # 全局异常处理
├── repository/
│ └── UserRepository.java # 用户数据访问层
└── service/
└── UserService.java # 用户业务逻辑层
# 进入项目目录
cd d:\base\server
# 编译项目
mvn clean compile
# 运行项目
mvn spring-boot:run
方法 | 路径 | 描述 |
---|---|---|
POST | /api/users/register |
用户注册 |
POST | /api/users/login |
用户登录 |
GET | /api/users/{id} |
获取用户信息 |
GET | /api/users |
获取所有用户 |
PUT | /api/users/{id} |
更新用户信息 |
DELETE | /api/users/{id} |
删除用户 |
POST | /api/users/{id}/change-password |
修改密码 |
curl -X POST http://localhost:8080/api/users/register \
-H "Content-Type: application/json" \
-d '{
"username": "newuser",
"password": "123456",
"email": "newuser@example.com",
"nickname": "新用户",
"phone": "13800138888"
}'
curl -X POST http://localhost:8080/api/users/login \
-H "Content-Type: application/json" \
-d '{
"usernameOrEmail": "admin",
"password": "123456"
}'
curl -X GET http://localhost:8080/api/users
默认使用 H2 内存数据库,无需额外配置。数据库控制台访问信息:
jdbc:h2:mem:testdb
sa
修改 application.yml
文件,取消 MySQL 配置的注释并填入实际数据库信息:
spring:
datasource:
url: jdbc:mysql://localhost:3306/base_server?useSSL=false&serverTimezone=UTC
username: your_username
password: your_password
driver-class-name: com.mysql.cj.jdbc.Driver
应用启动时会自动创建以下测试用户:
用户名 | 密码 | 邮箱 | 昵称 |
---|---|---|---|
admin | 123456 | admin@example.com | 系统管理员 |
testuser1 | 123456 | user1@example.com | 测试用户1 |
testuser2 | 123456 | user2@example.com | 测试用户2 |
在 Android 项目的 AndroidManifest.xml
中添加:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
// API 接口定义
public interface UserApi {
@POST("users/login")
Call<ApiResponse<UserDTO>> login(@Body LoginRequest request);
@GET("users")
Call<ApiResponse<List<UserDTO>>> getUsers();
}
// 创建 Retrofit 实例
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("http://你的电脑IP:8080/api/")
.addConverterFactory(GsonConverterFactory.create())
.build();
UserApi userApi = retrofit.create(UserApi.class);
当前使用简单的字符串前缀加密方式(仅用于演示)。生产环境建议使用 BCrypt:
@Bean
public PasswordEncoder passwordEncoder() {
return new BCryptPasswordEncoder();
}
entity
包中创建实体类repository
包中创建对应的 Repository 接口dto
包中创建 DTO 类service
包中创建业务逻辑类controller
包中创建控制器类应用日志会输出到控制台,包含详细的操作信息和错误信息。
mvn clean package
java -jar target/base-server-1.0.0.jar
application.yml
中的 server.port
配置WebConfig
中配置 CORS,支持所有来源MIT License