SpringCloud使用Feign接口式调用服务

导读:本篇文章讲解 SpringCloud使用Feign接口式调用服务,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

创建基本环境

在实体模块里添加Feign的依赖,并且提供接口

package com.study.cloud.service;

import com.study.cloud.bean.Book;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;

@Component
@FeignClient(value = "SPRINGCLOUD-PROVIDER") 
public interface BookClientService
{
    @GetMapping("/book/provide/{bookID}")
    Book queryById(@PathVariable("bookID") Integer bookID);
}

从上面代码看和正常我们写springboot的代码有什么不一样的感觉呢?就是似乎把请求放到了接口上了。

Feign客户端

package com.study.cloud.controller;

import com.study.cloud.bean.Book;
import com.study.cloud.service.BookClientService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;

import java.util.List;

/**
 * @description: 这里我是消费者,我在消费的时候需要自己有service层吗?我觉得显然是否定,那么问题来了,如果
 * controller没有service他该如何去调用service呢?
 * 通过RestTemplate
 * @author: Leo
 * @createDate: 2020/2/10
 * @version: 1.0
 */
@RestController
public class BookConSumController
{
    @Autowired
    BookClientService bookClientService = null;

    @RequestMapping("/book/consumer/get/{bookID}")
    public Book getBookById(@PathVariable("bookID") Integer bookID)
    {
        return this.bookClientService.queryById(bookID);
    }
}

第一是注入进来需要声明
第二是要用this来调用

主启动类

@EnableFeignClients(basePackages = "com.study.cloud")

配置文件

与之前完全一样,不需要任何变动

server:
  port: 80
eureka:
  client:
    register-with-eureka: false #不向eureka中注册自己
    service-url:
      defaultZone: http://localhost:7001/eureka/,http://localhost:7002/eureka/,http://localhost:7003/eureka/

Author By 朝花不迟暮

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/16466.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!