/** * 防止接口陷入死循环 * * @param externalInterfaceRelation * @return */ public boolean isRational(long externalInterfaceId,//主接口 long bindedExternalInterfaceId) {//被绑定接口 if (externalInterfaceId == bindedExternalInterfaceId) {//主接口和绑定接口是否相同 return false; } else { List<ExternalInterfaceRelation> list = externalInterfaceRelationDao .listRelationByInterfaceId(bindedExternalInterfaceId);//得到被绑定接口下的绑定接口 if (CollectionUtils.isEmpty(list)) { return true; } else { for (int i = 0; i < list.size(); i++) { if (!isRational(externalInterfaceId, list.get(i) .getBindedExternalInterfaceId())) {//继续判断子接口 return false; } } return true; } } }
这是刚毕业进公司两个月,感觉写得比较爽的一段代码,