使用Spring Cloud Feign作为HTTP客户端调用远程HTTP服务,比如调用百度登http接口:
1.对于调用的http,只要能访问即可:
2、访问端,也就是spring-cloud端。
A、在工程启动类名前加入@EnableFeignClients注解:如下图:
public class VisualintercomAppServiceApplication extends SpringBootServletInitializer {
B、加入依赖:
<groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-feign</artifactId>
C、调用业务类:
public class SocketController { 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)
注意:外网的地址: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)
|