/**
* 防止接口陷入死循环
*
* @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;
}
}
}
这是刚毕业进公司两个月,感觉写得比较爽的一段代码,