flea-jersey使用之Flea RESTful接口客户端接入

引言

本篇介绍 flea-jersey 模块下的 flea-jersey-client 子模块,该模块提供对 flea-jersey-server 子模块封装的 POSTPUTDELETEGET资源的调用。

1. 客户端依赖

项目地址可至GitHub 查看 flea-jersey-client

1
2
3
4
5
6
<!-- FLEA JERSEY CLIENT-->
<dependency>
<groupId>com.huazie.fleaframework</groupId>
<artifactId>flea-jersey-client</artifactId>
<version>2.0.0</version>
</dependency>

2. 客户端接入步骤

  1. 客户端确定待调用的资源服务【参见 Flea RESTful接口服务端接入】,并配置资源客户端表;
  2. 客户端定义业务入参和业务出参 POJO 类;
  3. 客户端使用 FleaJerseyClient 调用资源服务。

3. 具体接入讲解

3.1 资源客户端配置

资源客户端【flea_jersey_res_client】, 下载鉴权资源服务的资源客户端配置如下:

字段名 中文描述
client_code 客户端编码
resource_url 资源地址
resource_code 资源编码
service_code 服务编码
service_interfaces 资源服务接口类
request_mode 请求方式
media_type 媒体类型
client_input 客户端业务入参
client_output 客户端业务出参

3.2 客户端业务输入和输出参数定义

这里定义的客户端业务入参【com.huazie.ffs.pojo.upload.input.InputFileUploadInfo】和 出参【com.huazie.ffs.pojo.upload.output.OutputFileUploadInfo】使用的是服务端定义的资源服务入参和出参;
当然这里也可以不一样,原则上只需要客户端业务入参和资源服务入参,客户端业务出参和资源服务出参两边对象转 JSONXML 的数据内容一致即可。

3.3 FleaJerseyClient使用

经过1和2的步骤,客户端接入已经完成一半,下面就可以调用资源服务,可参考如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
@Test
public void testDownloadAuth() {
try {
String clientCode = "FLEA_CLIENT_DOWNLOAD_AUTH";

InputDownloadAuthInfo downloadAuthInfo = new InputDownloadAuthInfo();
downloadAuthInfo.setFileId("123123123123123123123");

FleaJerseyClient client = applicationContext.getBean(FleaJerseyClient.class);

Response<OutputDownloadAuthInfo> response = client.invoke(clientCode, downloadAuthInfo, OutputDownloadAuthInfo.class);

LOGGER.debug("result = {}", response);
} catch (Exception e) {
LOGGER.error("Exception = ", e);
}
}

总结

至此,Flea RESTful接口客户端接入已经完成。上述自测类,可至GitHub查看 JerseyTest.java