Springcloud怎么实现跨域?

发布网友

我来回答

1个回答

热心网友

在开发中,我们常用httpClient去远程调用其他系统的接口,一般情况下,需要我们指定调用的url,feign也实现了一套远程调用的方法,并且更为优雅。
1.添加依赖

<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-feign</artifactId>
</dependency>
2.创建FeignClient接口(用于指定远程调用的服务)

// 申明这是一个Feign客户端,并且指明服务id
@FeignClient(value = "com-spring-caclulate")
public interface CacluFeignClient {

// 这里定义了类似于SpringMVC用法的方法,就可以进行RESTful的调用了
@RequestMapping(value = "/caclu/{num}", method = RequestMethod.GET)
public Item caclulate(@PathVariable("num") Integer num);

}
注意:这里就是一个接口。
3.在需要进行远程调用的方法里注入该接口,并调用对应的api接口方法

@Autowired
private CacluFeignClient cacluFeignClient ;

@GetMapping(value = "query/result")
public Integer caclulate() {
cacluFeignClient.caclulate(1);
}
4.在启动类上添加注解 @EnableFeignClients,表示支持Feign

FeignClient接口和spring mvc接口的格式一致,在调用方的方法中,我们只需要调用本系统中定义的接口即可。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com