You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ocr/runstart/doc/ApiHelper使用.md

121 lines
2.8 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

[TOC]
## ApiHelper使用
#### 加密请求体
##### 一. Get请求
* method: ApiHelper.buildQueryRequest()
* params:
| 名称 | 类型 | 描述 |
| ---------- | ------------------- | -------------------------- |
| tenantCode | String | 租户编码(租户notenantNo) |
| accessKey | String | 访问key |
| accessCode | String | 访问密钥 |
| parameters | Map<String, String> | 请求参数 |
* 示例:
```
Map<String, String> queryParam = new HashMap<>();
queryParam.put("key1", 111);
RequestData requestData = ApiHelper.buildQueryRequest("tenantCode", "accessKey", "accessCode", queryParam);
System.out.println(data);
结果g6Q5yIv3qkmrJ1tyuOBfhRh7ZpZThjR_q8FaxXzBSOVlCsZhLqy8La7mxaoOmZhvyYqVCEHMqRmb0OiSjgJ1vg
```
##### 二. Post请求
* method: ApiHelper.buildRequest()
* params:
| 名称 | 类型 | 描述 |
| ---------- | ------ | -------------------------- |
| tenantCode | String | 租户编码(租户notenantNo) |
| accessKey | String | 访问key |
| accessCode | String | 访问密钥 |
| data | T | 请求体 |
* 示例:
```
TestRequest request = new TestRequest();
reqest.setKey1("111");
RequestData requestData = ApiHelper.buildRequest("tenantCode", "accessKey", "accessCode", testRequest);
System.out.println(requestData.getData());
结果9JoWigNCni2KTiS8BtXteEynqk1YMSWas9tFZKSB5as-9AWPAVbF7oey3N8iTeMoNqeZvaO0_Ouiz2ctYopASg
```
#### 响应解密
##### 一. 解密为字符串
* method: ApiHelper.decryptRequest()
* params:
| 名称 | 类型 | 描述 |
| ---------- | ------ | ---------- |
| accessCode | String | 访问密钥 |
| resultData | Object | 响应结果体 |
* return: String
* 示例:
```
ResultData<String> resultData = new ResultData<>(); // 实际返回对象
String data = ApiHelper.decryptResponse("accessCode", resultData);
System.out.println(data);
结果key1=111&key2=222&key3=333
```
##### 二. 解密为指定类型
* method: ApiHelper.decryptRequest()
* params:
| 名称 | 类型 | 描述 |
| ---------- | ------ | ------------------ |
| accessCode | String | 访问密钥 |
| resultData | Object | 响应结果体 |
| Class | class | 解密后指定转换实体 |
* return: Obejct
* 示例:
```
ResultData<String> resultData = new ResultData<>(); // 实际返回对象
Test test = ApiHelper.decryptResponse("accessCode", resultData, Test.class);
System.out.println(test.getKey1());
结果111
```