Java 代码之自定义 http 请求

自定义 http 请求类

参考 org.apache.flink.runtime.rest.*

1. RestHandlerSpecification

基本请求, 满足简单请求

1
2
3
4
5
6
public interface RestHandlerSpecification {
// 请求方式, 枚举类, 枚举所用方法
HttpMethodWrapper getHttpMethod();
// 请求 url
String getTargetRestEndpointURL();
}

2. UntypedResponseMessageHeaders

继承1, 但添加请求体和请求参数泛型, 主要支持返回体是非实体的请求

1
2
3
4
5
6
7
public interface UntypedResponseMessageHeaders<R extends RequestBody, M extends MessageParameters>
extends RestHandlerSpecification {
// 获取请求体类
Class<R> getRequestClass();
// 获取请求参数类型
M getUnresolvedMessageParameters();
}

3. MessageHeaders

继承2, 创建 header 接口等待实现, 添加 RequestBody, ResponseBody, MessageParameters 等泛型, 共同拼装成请求 header

1
2
3
4
5
6
7
8
9
public interface MessageHeaders<R extends RequestBody, P extends ResponseBody, M extends MessageParameters> 
extends UntypedResponseMessageHeaders<R, M> {
// 获取返回体类
Class<P> getResponseClass();
// 返回返回状态码, 枚举类, 此处使用 netty, 所以是其状态
HttpResponseStatus getResponseStatusCode();
// 获取该 header 描述
String getDescription();
}

4. RequestBody, ResponseBody, MessageParameters

自定义实现这3个接口或抽象类, 方便在拼接请求时使用