PowerMockito.spy(CmdbUtil.class);
PowerMockito.doReturn(onePageData).when(CmdbUtil.class, "requestCMDB", Mockito.any(CmdbQueryParamModel.class), Mockito.eq(false));
List<JSONObject> resultRelations = CmdbUtil.queryServiceLinks(appId);
Assert.assertEquals(4, resultRelations.size());
putIfAbsent 和 computeIfAbsent 区别是什么
map.computeIfAbsent
Map<String, Map<String, String>> nodesMap = new HashMap<>();
nodesMap.computeIfAbsent(sourceResId, k -> putNodeToMap(relation, sourceResId, SOURCE_RES_NAME));
如果sourceResId这个键在外层Map中不存在时,会调用putNodeToMap方法并传入一些参数,然后返回一个新的Map<String, String>
String nodeStr
= "{"business_nodes":[{"default":true,"id":2,"gmt_create":null,"gmt_modify":null,"name":"apm","inner_domain_id": 1,"display_name":"apm","is_default":true,"eps_id":"**********"}]}";
JsonNode appListNode = JsonUtil.getMapper().convertValue(nodeStr, JsonNode.class);
这样做无法解析其中的business_nodes,
JsonNode appListNode = appListApmNode.get("business_nodes");返回null
要用readTree 别犯错了!!!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类