微服務之間的相互呼叫

滿天星的七星發表於2019-12-25

我使用的是@FeignClient(name="com-kd-xxx")

首先新增maven依賴

<dependencies>
	<dependency>
		<groupId>org.springframework.cloud</groupId>
		<artifactId>spring-cloud-starter-eureka</artifactId>
	</dependency>
	<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-test</artifactId>
		<scope>test</scope>
	</dependency>
</dependencies>

配置檔案

application.properties配置如下

spring.application.name=com-kd-hello
server.port=8889
eureka.client.serviceUrl.defaultZone=http://localhost:8000/eureka/

啟動類

@EnableFeignClients
@SpringCloudApplication
public class SpringCloudApplication {

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

 

然後編寫服務之間呼叫的FeignClient程式碼

feign呼叫實現

@FeignClient(name = "com-kd-hello")
public interface MyFeignClient{

    /**
     * 呼叫微服務的地址與請求型別
     */
    @RequestMapping(value = "/hello", method = RequestMethod.POST, headers = "Content-type=application/json")
    ResponseResult<List<ConsEntity>> queryConsList(@RequestBody ConsEntity cons);
}

 

使用方式

@Autowired
MyFeignClient myFeignClient;

然後myFeignClient.queryConsList(cons)就可以使用了

相關文章