请求参数如下
这种复杂的参数体,最好通过将每个字段拆分成不同的子请求体,然后在请求的时候进行组装,上图的每个字段都可以单独拆分出来一个请求,最后可以拼接出不同的业务流程。
引入需要的jar包
com.fasterxml.jackson.core
jackson-annotations
com.fasterxml.jackson.core
jackson-databind
com.fasterxml.jackson.dataformat
jackson-dataformat-yaml
com.fasterxml.jackson.dataformat
jackson-dataformat-csv
通过Jackson typereference 泛型读取相关文件
读取json文件并替换变量
// 活动名称
public static HashMap getActivityName(String activityName){
MapperUtil> mapperUtil = new MapperUtil<>();
HashMap activityNameMap = mapperUtil.getReadValue(
"src/main/resources/data/basic-parameter/activityName.json");
log.info("读取的活动名称相关json"+activityNameMap);
HashMap newActivityName = new HashMap<>();
activityNameMap.forEach((
(s, o) -> { // 遍历value以 { 和} 结尾的值
log.info("未转换前" + o);
if (Objects.nonNull(o)) {
String value = o.toString();
if (value.startsWith("${") && value.endsWith("}")) { //获取到的结果为: ${activityName}
String value1 = StringUtils.stripStart(value, "${"); // 去掉${--> activityName}
String value2 = StringUtils.stripEnd(value1, "}"); // 去掉} -->activityName
if ("activityName".equals(value2)) {
o = activityName;
}
}
}
newActivityName.put(s, o);
}
));
log.info("遍历后"+activityNameMap);
return newActivityName;
}
因为json中有值为null的参数,使用fastjson转换时,需要加 WriteMapNullValue
String jsonString = JSONObject.toJSONString(bodyDepart, WriteMapNullValue);
更新时间:2024-10-17
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号