删除小节删除阿里云视频

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)查看阿里云视频点播服务中的视频是否被删除。

相关推荐
Wang's Blog7 小时前
Java 项目实战: 外卖平台优化-Nginx配置文件结构与块层级
java·开发语言·nginx
卷无止境8 小时前
独立开发者的"富矿地带":哪些垂直领域值得你押注一辈子?
后端·python
\光辉岁月/8 小时前
5.java-数组
java·开发语言
谢亮_vipxieliang9 小时前
Spring 事务失效的常见场景
java·开发语言·数据库·spring boot
狼爷9 小时前
从零用 Java 构建 AI Agent 框架:JavaManus 设计与实现深度解析
后端·langchain·aigc
郑州光合科技余经理9 小时前
海外版外卖加盟:总站与分站配送规则怎么分开管
java·开发语言·前端·后端·uni-app·php·ai编程
2601_962071579 小时前
类变量和全局变量的生命周期有什么区别?
java·开发语言·jvm
code2cat9 小时前
Java进阶篇之AtomicReference:一次替换引用,读到一份完整状态
java·并发编程·不可变对象·atomicreference
专业程序开发源9 小时前
springboot简历管理系统81389-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·spring·php·课程设计
Wang's Blog9 小时前
Java 项目实战: 外卖平台优化-前后端分离开发模式与工程拆分
java·开发语言