栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Open-Feign的使用

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Open-Feign的使用

目录

集成Open-Feign实现远程方法调用

加入依赖启动类添加注解远程调用video代码controller代码 Open-Feign使用post方法实现远程传输

被调用的videoCon调用的Order

集成Open-Feign实现远程方法调用 加入依赖
        
            org.springframework.cloud
            spring-cloud-starter-openfeign
        

启动类添加注解

调用方,我是order

//开启Feign支持
@EnableFeignClients
远程调用video代码

新建service通过Feign调用nacos的服务

//name="class-video-service" 引号里就是在nacos里被调用方的服务名
@FeignClient(name="class-video-service")
public interface VideoService {

    @GetMapping(value = "/api/v1/video/find_by_id")
    Video findById(@RequestParam("videoId") int videoId);

}

controller代码

不需要像以前使用Ribbon restTemplate 那么麻烦,直接调用service即可,因为service会去nacos寻找需要调用的服务

@RestController
@RequestMapping("api/v1/video_order")
public class OrderController {

    @Autowired
    private VideoService videoService;

    @RequestMapping("/save")
    public Object save(int videoId){


        //法四,使用Fiegn进行远程调用
       // Video video = restTemplate.getForObject("http://class-video-service/api/v1/video/find_by_id?videoId="+videoId, Video.class);
        Video video = videoService.findById(videoId);

        VideoOrder videoOrder = new VideoOrder();

        videoOrder.setVideoId(video.getId());
        videoOrder.setVideoTitle(video.getTitle());
        videoOrder.setCreateTime(new Date());

        //这时候就可以从video那里获得ip和端口号
        videoOrder.setServerInfo(video.getServeInfo());

        return videoOrder;


    }

}

Open-Feign使用post方法实现远程传输 被调用的videoCon
    @PostMapping("save1")
    public Object save1(@RequestBody Video video){
        System.out.println(video.getTitle());
        return video;
    }
调用的Order

service

    @PostMapping(value = "/api/v1/video/save1")
    int save1(@RequestBody  Video video);

OrderCon

    @RequestMapping("/save1")
    public Object save1(@RequestBody Video video){

        System.out.println(video.getTitle());
        return video;

    }

这时候调用/api/v1/video_order/save1 json格式传个title就会发现传参成功了

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/703952.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号