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

使用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();
    }
}

D、通过接口结合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();
}

 


版权声明:本文为tiantangdizhibuxiang原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。