# httpserv-vertx **Repository Path**: soells/httpserv-vertx ## Basic Information - **Project Name**: httpserv-vertx - **Description**: 利用vert.x 简易实现一个单例HTTP服务容器|HttpAction/RequestMapping/Mapping - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-03-06 - **Last Updated**: 2025-07-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # httpserv-vertx ## 启动说明 ```java StartVertx.ins.start("com", 8080); ``` ## 使用说明 下面是一个使用示例: ```java // 访问示例URL: http://127.0.0.1:8090/api/users?page=2&ids=1,2,3&email=test@gmail.com @RequestMapping("/api") public class MyController extends HttpAction { @Mapping(value = "/users", method = HttpMethod.GET) public String getUsers( @Param(value = "page", defaultValue = "1", min = 1) int page, @Param(value = "ids", split = ",") List ids, @Param(value = "email", pattern = "\\w+@\\w+\\.com") String email, RoutingContext context ) { return "Page: " + page + ", IDs: " + ids + ", Email: " + email; } } @Getter @Setter class InfoResp { int code; double amount; String msg; } @CheckToken @Mapping("/info") public InfoResp info(SessionKey key) { InfoResp infoResp = new InfoResp(); try (AutoSqlProcessor sql = new AutoSqlProcessor()) { UserMapper mapper = sql.getMapper(UserMapper.class); UserPojo pojo = mapper.selectById(key.getUId()); infoResp.setAmount(pojo.getAmount()); } return infoResp; } ``` ## 依赖库 请根据需要自行添加以下库: - hutool - fastjson ## 功能亮点 - 使用`@Mapping`注解定义路由和HTTP方法。 - 支持通过`@Param`注解校验和提取请求参数,包括正则表达式匹配和数据类型转换。 - 使用`@CheckToken`注解进行令牌验证。 - 支持`SessionKey`类进行会话管理与加密解密操作。 - 使用`@RequestMapping`注解定义控制器的公共路由前缀。 - 提供CORS支持和配置。 ## 注意事项 - 确保在`main`方法中正确初始化`StartVertx`以启动服务。 - 项目中使用了Lombok注解如`@Getter`、`@Setter`和`@Slf4j`,请确认开发环境已配置Lombok支持。 - 项目需要`AutoSqlProcessor`和`UserMapper`等类来实现数据库访问功能,这些未在代码图中展示。 ## 许可证 请查看项目根目录下的`LICENSE`文件以了解许可证信息。 ## Git 忽略 请查看`.gitignore`文件以了解哪些文件或目录被排除在版本控制之外。