公共参数
以下参数每个接口中均需要传递(可当做全局参数进行传递)
| Header中的公共参数 | ||||
| 入参:(Header传值) | 是否必传 | 默认值 | 描述 | 备注 |
| deviceId | 是 | 1 | 租户ID | 企业看图中实际的租户ID(联系实施人员获取) |
| deviceModel | 是 | web | 设备唯一标识 | 设别唯一标识,设备编码 |
| deviceModel | 是 | web | 设备型号 | 设备型号: iPhone 17 Pro Max,需要进行UrlEncode |
| deviceType | 是 | - | 设备类型 | 设备类型: 0:安卓,1:苹果,3:PC,4:WEB,5:平板,6:鸿蒙手机 默认可传值 4 |
| lang | 否 | zh-CN | 语言类型 | 语言类型:中文:zh-CN、英文:en-US |
package com.hoteam.sview.demo;
import cn.hutool.core.util.CharsetUtil;
import cn.hutool.core.util.URLUtil;
import cn.hutool.http.HttpRequest;
import java.util.LinkedHashMap;
import java.util.Map;
/**
* 第三方接口公共 Header 工具
* <p>
* 公共 Header(Header中的公共参数):
* - tenant-id : 租户 ID(必填),不确定的可联系售前人员获取
* - deviceId : 设备唯一标识(必填,默认填 web 即可)
* - deviceModel : 设备型号(必填,需 UrlEncode,,默认填 UrlEncode('web') 即可)
* - deviceType : 设备类型(必填,0:安卓 1:苹果 2:H5 3:PC 4:WEB 5:平板 6:鸿蒙),默认填 4 即可
* - lang : 语言类型(非必填,默认 zh-CN)
*/
public final class CommonHeaderUtil {
/** 租户 ID(按实际配置) 不确定的可联系售前人员获取 */
public static final String TENANT_ID = "1";
/** 设备唯一标识 */
public static final String DEVICE_ID = "web";
/** 设备型号(原始值,发送前会 UrlEncode) */
public static final String DEVICE_MODEL = "web";
/** 设备类型,4 = WEB */
public static final String DEVICE_TYPE = "4";
/** 语言 */
public static final String LANG = "zh-CN";
private CommonHeaderUtil() {}
/**
* 构建公共 Header(已对 deviceModel 做 UrlEncode)
*/
public static Map<String, String> buildCommonHeaders() {
Map<String, String> headers = new LinkedHashMap<>();
headers.put("tenant-id", TENANT_ID);
headers.put("deviceId", DEVICE_ID);
// deviceModel 备注要求 UrlEncode
headers.put("deviceModel", URLUtil.encode(DEVICE_MODEL, CharsetUtil.CHARSET_UTF_8));
headers.put("deviceType", DEVICE_TYPE);
headers.put("lang", LANG);
return headers;
}
/**
* 给 HttpRequest 链式追加公共 Header
*/
public static HttpRequest withCommonHeaders(HttpRequest request) {
return request.headerMap(buildCommonHeaders(), true);
}
}