轻量级Http服务框架技术文档

【免费下载链接】easyapi 轻量级Http服务框架 【免费下载链接】easyapi 项目地址: https://gitcode.com/Cangjie-SIG/easyapi

1. 安装指南

1.1 环境要求

  • 支持CJ语言的运行环境
  • 至少100MB可用磁盘空间
  • 网络访问权限(如需监听网络端口)

1.2 安装方式

方式一:通过包管理器安装
// 在您的CJ项目配置文件中添加依赖
dependencies {
    easyapi: "latest"
}
方式二:手动安装
  1. 从官方仓库下载框架代码
  2. 将框架代码放入您的项目依赖目录
  3. 在项目中导入框架模块

2. 项目使用说明

2.1 基本使用流程

  1. 创建路由实例
  2. 配置路由参数
  3. 添加路由处理器
  4. 添加过滤器(可选)
  5. 启动服务

2.2 示例代码

import easyapi.route.*
import log.*

let router = EasyRoute()
router.config.basePath = "/api"
router.logger.level = LogLevel.DEBUG

// 添加GET路由
router.get("/hello", (ctx) => {
    ctx.res.writeBody("Hello World")
})

// 启动服务
router.listen("0.0.0.0", 8080)

3. 项目API使用文档

3.1 核心类说明

EasyRoute 路由类
  • get(path, handler): 添加GET方法路由
  • post(path, handler): 添加POST方法路由
  • put(path, handler): 添加PUT方法路由
  • delete(path, handler): 添加DELETE方法路由
  • filter(filter): 添加过滤器
  • listen(host, port): 启动服务监听
EasyContext 上下文类
  • req: 请求对象(EasyRequest)
  • res: 响应对象(EasyResponse)
  • setUserValue(key, value): 设置用户自定义数据
  • getUserValue(key): 获取用户自定义数据
EasyRequest 请求类
  • params: 请求参数(EasyParams)
  • multipartForm: 文件上传数据
  • readBody(): 读取请求体
  • getPathValue(key): 获取路径参数
EasyResponse 响应类
  • writeBody(content): 写入响应体
  • writeJSON(content): 以JSON格式写入响应体
  • setHeader(key, value): 设置响应头
  • statusCode: 设置HTTP状态码

3.2 过滤器接口

public interface EasyFilter {
    func filter(ctx: EasyContext): Bool
    func order(): Int64
}

4. 项目安装方式详解

4.1 依赖管理

框架支持通过CJ标准包管理器安装,也可手动集成。

4.2 配置说明

框架提供以下可配置项:

  • basePath: 路由基础路径(默认"")
  • tempDir: 临时文件目录(默认"./easy_temp")

4.3 高级特性

  1. 文件上传处理:通过multipartForm属性访问上传的文件
  2. 响应钩子:使用subscribeResponse方法订阅响应事件
  3. 自定义过滤器:实现EasyFilter接口创建自定义过滤器

4.4 最佳实践

// 创建路由并配置
let router = EasyRoute()
router.config.basePath = "/api/v1"
router.config.tempDir = "/tmp/easyapi"

// 添加过滤器
router.filter(MyAuthFilter())

// 添加路由
router.get("/users", (ctx) => {
    // 业务逻辑处理
    ctx.res.writeJSON("{\"users\":[]}")
})

// 启动服务
router.listen("0.0.0.0", 8080)

【免费下载链接】easyapi 轻量级Http服务框架 【免费下载链接】easyapi 项目地址: https://gitcode.com/Cangjie-SIG/easyapi

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐