Skip to content

Commit

Permalink
服务消费者使用 OpenFeign 实现服务调用
Browse files Browse the repository at this point in the history
  • Loading branch information
YClimb committed Sep 30, 2020
1 parent 502a7af commit fda3042
Show file tree
Hide file tree
Showing 6 changed files with 57 additions and 4 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Spring Cloud & Spring Cloud Alibaba Learning Project
- nacos-discovery-provider-sample // Nacos Discovery Provider Sample
- 掌握 Nacos Discovery 实现 Spring Cloud 服务注册和发现
- nacos-discovery-consumer-sample // Nacos Discovery Consumer Sample
- Nacos Discovery 整合 @LoadBalanced RestTemplate 以及 Open Feign
- Nacos Discovery 整合 @LoadBalanced RestTemplate 以及 Open Feign 服务调用
- .gitignore
- README.md

Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,11 @@
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;

@SpringBootApplication
@EnableDiscoveryClient
@EnableFeignClients // 激活 @FeignClient
public class NacosDiscoveryConsumerSampleApplication {

public static void main(String[] args) {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
package com.example.demo.controller;

import com.example.demo.service.EchoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;

/**
* OpenFeign 服务调用
*
* @author yclimb
* @date 2020/9/30
*/
@RestController
public class OpenFeignController {

@Autowired
private EchoService echoService;

@GetMapping("/feign/echo/{message}")
public String feignEcho(@PathVariable String message) {
return echoService.echo(message);
}
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.example.demo;
package com.example.demo.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
Expand All @@ -9,7 +9,7 @@
import org.springframework.web.client.RestTemplate;

/**
* 服务调用
* LoadBalanced 服务调用
*
* @author yclimb
* @date 2020/9/30
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
package com.example.demo.service;

import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;

/**
* 指向服务提供者应用
*
* @author yclimb
* @date 2020/9/30
*/
@FeignClient("nacos-discovery-provider-sample")
public interface EchoService {

/**
* echo(String) 方法在 Spring MVC 请求映射的方式与 nacos-discovery-provider-sample 中的 ServiceController 基本相同,
* 唯一区别在于 @PathVariable 注解指定了 value 属性 “message”,
* 这是因为默认情况,Java 编译器不会讲接口方法参数名添加到 Java 字节码中。
*
* @param message message
* @return String
*/
@GetMapping("/echo/{message}")
String echo(@PathVariable("message") String message);
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.example.demo;
package com.example.demo.controller;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
Expand Down

0 comments on commit fda3042

Please sign in to comment.