HarmonyOS_ArkTs_API(1)
概述
此API服务模块是独自开发的应用程序的核心骨架,提供了鸿蒙OS ArkTS客户端组件和Java Spring Boot后端之间的强大通信接口。该模块采用清晰的架构方法处理所有HTTP请求、响应解析和错误处理,确保系统各部分间通信的一致性和可靠性。
核心组件
API配置管理
该服务实现了灵活的环境配置系统,允许应用程序在不修改代码的情况下针对不同的后端环境:
class ApiConfig {readonly ANDROID_EMULATOR: string = 'http://10.0.2.2:8080/api';readonly DEVICE: string = 'http://192.168.31.75:8080/api';readonly LOCAL: string = 'http://localhost:8080/api';getUrl(env: string): string {switch (env) {case 'ANDROID_EMULATOR':return this.ANDROID_EMULATOR;case 'DEVICE':return this.DEVICE;case 'LOCAL':default:return this.LOCAL;}}
}
通用HTTP请求处理器
该服务的核心是一个多功能request<T>
方法,处理不同的HTTP方法、URL构建、参数序列化和响应解析:
export async function request<T>(method: RequestMethod, endpoint: string, params: QueryParams = {}, data: RequestData = {}): Promise<T> {// URL构建和参数处理let url = `${BASE_URL}${formattedEndpoint}`;if (Object.keys(params).length > 0) {// 查询参数序列化逻辑}// 请求配置与认证// ...// 响应处理和解析// ...
}
类型安全与接口定义
服务利用TypeScript的泛型类型确保API调用的类型安全,并定义了请求和响应数据结构的接口:
export interface RequestData {id?: number;userId?: number;title?: string;// 其他字段...user?: UserRequest;dream?: DreamRequest;
}export interface UserRequest {id: number;
}export interface DreamRequest {id: number;
}
主要特性
- 认证集成:自动从
UserSession
注入认证令牌到API请求中 - 一致错误处理:实现标准化的错误捕获和报告机制
- 资源URL处理:包含智能图片URL处理以处理不同环境路径
- 类型安全响应:利用TypeScript泛型确保API响应的类型安全
- 集中式API逻辑:所有API端点在单一服务中定义,便于维护
设计模式
API服务实现了几种关键设计模式:
- 单例模式:用于配置管理
- 适配器模式:在前端和后端数据格式之间进行转换
- 外观模式:为复杂的HTTP子系统提供简化界面
- 仓库模式:将数据访问操作抽象为领域特定方法
性能优化
该服务包括多种优化技术:
- 可配置的超时设置
- finally块中的资源清理
- 不同响应类型的高效解析
- 防御性错误处理以防止应用崩溃
业务逻辑集成
特定领域的API方法如createPost()
、getDreamById()
和likePost()
建立在通用请求处理器之上,提供了面向业务的接口,同时保护应用程序不受HTTP实现细节的影响,保持后端通信的一致性。
该架构的模块化设计使其具有高度的可维护性和可扩展性,允许在最小代码重复的情况下添加新的API端点,并确保一致的行为。