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

猜你喜欢

转载自blog.csdn.net/kunzai6/article/details/78808209