zoukankan      html  css  js  c++  java
  • 服务调用openfeign

    一添加依赖
       <!--服务调用-->
           <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-openfeign</artifactId>
            </dependency>

    二在需要调用的模块中加入被调用模块的接口

    package com.atguigu.eduservice.client;
    
    import com.atguigu.commonutils.R;
    import org.springframework.cloud.openfeign.FeignClient;
    import org.springframework.stereotype.Component;
    import org.springframework.web.bind.annotation.DeleteMapping;
    import org.springframework.web.bind.annotation.PathVariable;
    
    @Component
    @FeignClient(name = "service-vod",fallback = VodFileDegradeFeignClient.class)
    public interface VodeClient {
    
        @DeleteMapping("/eduvod/video/removeAlyVideo/{id}") //加上其完全路径
        public R removeAlyVideo(@PathVariable("id") String id); //@PathVariable注解一定要加上参数名称“id",否则报错
    }

    三注入接口,进行方法调用

    @RestController
    @RequestMapping("/eduservice/video")
    @CrossOrigin
    public class EduVideoController {
    
        @Autowired
        private EduVideoService videoService;
        @Autowired
        private VodeClient vodeClient;
    
        //添加小节
        @PostMapping("addVideo")
        public R addVideo(@RequestBody EduVideo eduVideo) {
            videoService.save(eduVideo);
            return R.ok();
        }
    
        //删除小节
        // TODO 后面这个方法需要完善:删除小节时候,同时把里面视频删除
        @DeleteMapping("{id}")
        public R deleteVideo(@PathVariable String id) {//根据小结id找到视频id
            EduVideo eduVideo = videoService.getById(id);
            String videoSourceId = eduVideo.getVideoSourceId();
            if (!StringUtils.isEmpty(videoSourceId)){
                R result = vodeClient.removeAlyVideo(videoSourceId);//删除视频
                if (result.getCode() == 20001){
                    throw new GuliException(20001,"删除视频失败,荣斗气。。。。。。。");
                }
            }
            videoService.removeById(id);//删除小结
            return R.ok();
        }
    
        //修改小节 TODO
    
    }
  • 相关阅读:
    面试笔试
    scala(9) Monad
    scala (8) 模糊匹配
    scala (7) Set and Tuple
    scala (6) Map
    scala (5) 可变序列和不可变序列
    scala (4) 可变数组和不可变数组
    scala (3) Function 和 Method
    scala (2) while 和变量
    scala (1) for 循环
  • 原文地址:https://www.cnblogs.com/lzq210288246/p/13303892.html
Copyright © 2011-2022 走看看