[SpringCloud]3. service-feign

1. Web ☑️Web

   Cloud Discovery ☑️Eureka Server

   Cloud Routing ☑️Feign

2. ServiceFeignApplication

通过注解@EnableDiscoveryClient 向服务中心注册

通过注解@EnableFeignClients 开启Feign的功能

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;

@EnableDiscoveryClient
@EnableFeignClients
@SpringBootApplication
public class ServiceFeignApplication {

    public static void main(String[] args) {
        SpringApplication.run(ServiceFeignApplication.class, args);
    }
}

3. application.yml

server:
  port: 8765
eureka:
  instance:
    hostname: localhost
  client:
    service-url:
      default-zone: http://${eureka.instance.hostname}:8761/eureka/
spring:
  application:
    name: service-feign

4. Service

通过注解@FeignClient(name = "服务名"), 来指定调用哪个服务

import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;

@FeignClient(name = "service-hi")
public interface FeignHiService {
    @RequestMapping(value = "/hi", method = RequestMethod.GET)
    String feignHi(@RequestParam(value = "name") String name);
}

5. Controller

import org.kaidi.servicefeign.service.FeignHiService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class FeignHiController {
    @Autowired
    private FeignHiService feignHiService;

    @GetMapping("/hi")
    public String hi(@RequestParam String name) {
        return feignHiService.feignHi(name);
    }
}

6. 启动工程

ApplicationAMIsAvailability ZonesStatus
SERVICE-FEIGNn/a (1)(1)UP (1) - deair:service-feign:8765
SERVICE-HIn/a (1)(1)UP (1) - deair:service-hi:8762

访问http://localhost:8765/hi?name=

hi ,i am from port:8762
阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kaidi224/article/details/80691519
个人分类: SpringBoot
想对作者说点什么? 我来说一句

service-feign

2018年05月21日 32.1MB 下载

SpringCloud开发使用手册

2018年05月22日 681KB 下载

springcloud 微服务 。pdf

2018年03月23日 20.6MB 下载

springcloud学习视频

2017年11月21日 48B 下载

使用SpringCloud和Docker实战微服务

2017年12月30日 22.27MB 下载

springClouda架构a代码版

2018年06月19日 192KB 下载

SpringCloud源码demo

2017年12月26日 4.55MB 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭