/**
* @author 作者 :dengxiangyu
* @version 创建时间:2018年12月6日 下午2:34:02 类说明
*/
@Component
public class LoadJsonRunner implements CommandLineRunner {
public static String L3OUT = null;
@Override
public void run(String... arg0) throws Exception {
// L3out创建
Resource resource = new ClassPathResource("l3out.json");
L3OUT = new String(FileCopyUtils.copyToByteArray(resource.getInputStream()),
StandardCharsets.UTF_8);
}
}
//读取配置
public String creatL3out(String tenantName, String routerId, String ip, String vlan,
String areaId) {
Sdn sdn = getAciUrlByTenantName(tenantName);
String aciUrl = sdn.getAciIp();
String url = aciUrl + "/api/mo/uni/tn-" + tenantName + ".json";
List<String> cookies = contractService.setCookies(true, sdn);
String l3out = LoadJsonRunner.L3OUT;
String reqL3out =
l3out.replace("ROUTER_ID_PLACEHOLDER", routerId).replace("CIDR_PLACEHOLDER", ip)
.replace("VLAN_PLACEHOLDER", vlan).replace("AREA_ID_PLACEHOLDER", areaId);
@SuppressWarnings("unchecked")
Map<String, Object> jsonMap =
JSON.parseObject(reqL3out, LinkedHashMap.class, Feature.OrderedField);
logger.info("创建l3out请求体:" + jsonMap.toString());
String result = "";
try {
result = ciscoRestTemplate.doPost(url, jsonMap, null, cookies, String.class);
} catch (Exception e) {
logger.info("创建l3out失败:" + e);
throw new BizException("创建l3out失败:" + e);
}
logger.info("创建l3out成功:" + result);
return result;
}