1、service-vod服务进行注册
同上小节的service-edu步骤。
2、在service_vod创建删除视频接口
(1)官方文档:服务端sdk->javaSDK->媒资管理 (2)在VideoAdminController添加删除视频的接口
java
@ApiOperation(value = "删除视频")
@DeleteMapping("{videoId}")
public R deleteVideoAliyun(@PathVariable String videoId){
try {
//1创建初始化对象
DefaultAcsClient client = AliyunVodSDKUtils.initVodClient("你自己的阿里云keyId", "你自己的阿里云keySercet");
//2创建删除视频的请求
DeleteVideoRequest request = new DeleteVideoRequest();
//3向请求中设置视频id,支持传入多个视频ID,多个用逗号分隔
request.setVideoIds(videoId);
//4调用初始化对象方法
client.getAcsResponse(request);
return R.ok();
} catch (ClientException e) {
return R.error();
}
}
3、实现服务调用,feign
需求:service-edu调用service-vod删除视频接口
(1)在service模块添加依赖
(2)在调用端service-edu启动类添加注解
(3)在service-edu创建interface接口,定义调用方法
第一步:创建接口。 第二步:在接口定义操作方法。 第三步:在接口添加注解,指明要调用的服务名称。
java
@FeignClient("service-vod")//服务名就是配置文件里配置的
@Component
public interface VodClient {
//定义操作方法
//url必须完整
//@PathVariable后面定义参数名称
@DeleteMapping("/eduvod/video/{videoId}")
public R deleteVideoAliyun(@PathVariable("videoId") String videoId);
}
(4)在EduVideoController实现删除小节删除视频的功能
java
@ApiOperation(value = "删除小节信息")
@DeleteMapping("{id}")
public R deleteVideo(@PathVariable String id){
//根据小节id查询视频id
EduVideo eduVideo = videoService.getById(id);
String videoSourceId = eduVideo.getVideoSourceId();
//判断视频id不为空
if(!StringUtils.isEmpty(videoSourceId)){
vodClient.deleteVideoAliyun(videoSourceId);
}
videoService.removeById(id);
return R.ok();
}
(5)查看阿里云视频点播服务中的视频是否被删除。