Spring-Cloud中通过Feign调用外网HTTP网络通信方法

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 20:42   4453   0

使用Spring Cloud Feign作为HTTP客户端调用远程HTTP服务,比如调用百度登http接口:

1.对于调用的http,只要能访问即可:

2、访问端,也就是spring-cloud端。

A、在工程启动类名前加入@EnableFeignClients注解:如下图:

@SpringBootApplication
@EnableFeignClients
public class VisualintercomAppServiceApplication extends SpringBootServletInitializer {

B、加入依赖:

<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-feign</artifactId>
</dependency>

C、调用业务类:

@RestController
@RequestMapping("user")
public class SocketController {
@Autowired
private FeignService feignService;

@RequestMapping(value = "list",method = RequestMethod.GET)
public String getData() {
return feignService.getData();
}
}

E、通过接口结合FeignClient访问外网http接口类。

@FeignClient(name = "baidu",url = "http://192.168.0.194:8082")
public interface FeignService {
@RequestMapping(value = "/feign/data", method = RequestMethod.GET)
public String getData();
}

注意:外网的地址:http://192.168.0.194:8082//feign/data ,当有参数时在函数体中加入参数:StringgetData(@RequestParam("q") String queryStr);。

名字和IP:端口可在application.properties中配置:

svc.url=http://192.168.0.194:9205
svc.name=scp-videointercom-component

然后在接口中调用如:

@FeignClient(name = "${svc.name}",url = "${svc.url}")
public interface FeignService {
@RequestMapping(value = "/user/list", method = RequestMethod.GET)
public String getData();
}

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP