之前接口开发一直是用的webservice方式,这次要采用restapi方式,特此记录下:
1.spring配置
2.在拦截器中配置白名单(作用:免登录调用后台服务)
3.接收上传文件(下载文件)后台开发
@RequestMapping(value="/apis/v1/cname/{cname}/name/{name}/version/{version}/file/{file}", method = RequestMethod.POST)
public String testPost(@PathVariable(value = "file")MultipartFile file,@PathVariable(value = "name") String name,
@PathVariable(value = "version") String version,@PathVariable(value = "cname") String cname) {
logger.info("name is " + name);
logger.info("cname is " + cname);
logger.info("version is " + version);
logger.info("fileName is " + file.getOriginalFilename());
if("".equals(name)|name==null){
return "Name cannot be null";
}
if("".equals(version)|version==null){
return "Version cannot be null";
}
if("".equals(file)|file==null){
return "File cannot be null";
}
CmRes cmRes = new CmRes();
String resId = IdGen.uuid();
String userId = "wangy";
Date now = new Date();
cmResController.uploadResPakgFile("resPakgFile", resId, file);
logger.info("文件上传完成 ");
// 中间表插入数据
CmResMiddle cmResMiddle = new CmResMiddle();
cmRes.setId(resId);
cmResMiddle.setId(IdGen.uuid());
cmResMiddle.setMiddleId(IdGen.uuid());
cmResMiddle.setResId(resId);
cmResMiddle.setCreatedBy(userId);
cmResMiddle.setCreatedTimestamp(now);
cmResMiddleService.insertResMiddle(cmResMiddle);
logger.info("中间表插入完成");
cmRes.setDelFlag("0");
cmRes.setName(cname);
cmRes.setEname(name);
cmRes.setSoftnum(name+resId.substring(0, 3));
cmRes.setSoftversion(version);
cmRes.setTypesId("1e86891492bc4f668fa0fd442e18d51a");
cmRes.setClassesFirstId("04069cc295184ce899fe7f0d799ee2f9");
cmRes.setClassesSecondId("32776aa1f90e47ff98e0d1cf29599a32");
cmRes.setHot(0);
cmRes.setByCount(0);
cmRes.setBillingMode("1");
BigDecimal bg= new BigDecimal("0");
cmRes.setPrice(bg);
cmRes.setDepMode("1");
cmRes.setInstallMode("3");
cmRes.setSecCertify("1");
cmRes.setApplyOs("3");
cmRes.setChargeMode("1");
cmRes.setContent("<p>BC-PaaS镜像制品</p>");
cmRes.setPicUrl("/resLogoPic/db4b053fe6bf4cddb46d6e84217507a5.jpg");
cmRes.setDownload(0);
cmRes.setPubStatus("0");//下架
cmRes.setCheckStatus("3");//待审批,前端传过来,新增的资源状态为“3未提审”
cmRes.setResStatus("0");//新增
cmRes.setCreatedBy(userId);
cmRes.setCreatedTimestamp(now);
cmRes.setUpdatedBy(userId);
cmRes.setUpdatedTimestamp(now);
cmRes.setFromWs("1");
//插入厂商信息
CmVendorInfo vendorInfo = new CmVendorInfo();
String vendorId = UUID.randomUUID().toString();
cmRes.setVendorId(vendorId);
vendorInfo.setSupName("BC-PaaS");
vendorInfo.setCreateBy("wangy");
vendorInfo.setCreateDate(now);
vendorInfo.setId(vendorId);
cmVendorInfoMapper.insertSelective(vendorInfo);
cmResMapper.insert