# Region **Repository Path**: LiuJieYuuuu/Region ## Basic Information - **Project Name**: Region - **Description**: Region系列框架,一款主攻便捷注解声明式且支持负载均衡多功能HTTP客户端框架,通过接口注解配置的形式可访问HTTP接口;基于IAGENT基础上重构的全新框架;且各个模块均可以单独使用。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-05-21 - **Last Updated**: 2025-04-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: Java ## README # Region ## 描述 全新开发Region框架,注解声明式HTTP框架,该项目下包括一下模块: - region-core:核心模块,主要功能有读取指定包路径类信息以及环境信息。 - region-common:公共模块,JSON适配器、日志适配器以及一些常用Util类。 - region-plugin:插件模块,通过代理实现插件功能。 - region-load-balancer:负载均衡模块,目前提供了五种负载均衡算法以及支持自定义算法。 - region-load-balancer-http:负载均衡HTTP代理器,通过插件模块以及负载均衡模块实现(不稳定)。 - region-http-client:支持注解声明式HTTP客户端,并集成上述模块功能。 ## 使用示例 Maven引入: ```xml com.gitee.liujieyuuuu region-http-client 1.1.0 ``` 定义HTTP客户端: ```java @Region(value = "https://127.0.0.1:9999/springmvc") public interface TestRequest { @GetUrl(value = "/user/getAllUserInfo") ResultVO> getAllUserInfo(); } ``` 入门使用: ``` java private static RegionClientFactory getRegionClientFactory() { return RegionHttpClient .create(ClientConfig .builder() .basePackages(new String[]{"com.region.http.client.request"}) .build()); } public static void main(String[] args) { RegionClientFactory result = getRegionClientFactory(); TestRequest request = result.client(TestRequest.class); System.out.println(request.getAllUserInfo()); } ``` 简单使用: ```java String data = RegionHttpClient.get("https://www.baidu.com").execute(); ``` 详细使用说明:https://gitee.com/LiuJieYuuuu/Region/blob/master/docs/http-client/document.md.