# 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.