springcloud调用其他服务的接口

client是服务名
下面路径,参数直接复制过来即可

/**
 * @author yinna
 * @version 1.0
 * @date 2021/3/30 16:34
 */

@FeignClient("client")
@Component
@RequestMapping(value = "/supervise")
public interface SuperviseClient {

    @GetMapping("/send")
    String sendMessage(@RequestParam("message") String message) throws InterruptedException;


}

服务端

/**
 * @author yinna
 * @version 1.0
 * @date 2021/3/30 16:34
 */

@Api(tags = {"supervise"}, description = "与监管方调用相关接口")
@RestController
@RequestMapping(value = "/supervise")
public class SuperviseClient {

    @GetMapping("/send")
    String sendMessage(@RequestParam("message") String message) throws InterruptedException{
	return "aaa";
}


}
Spring Cloud是一个基于Spring框架的云计算应用开发工具集,它简化了分布式系统服务之间的集成和通信。当你需要调用第三方接口时,通常会通过Feign、RestTemplate或者Ribbon+Hystrix等技术实现。以下是基本步骤: 1. **Feign**:Feign是一个声明式的API客户端生成器,你可以轻松地创建RESTful API客户端,并提供高度定制化的请求拦截器。在Spring Cloud中,使用`@FeignClient`注解来标记一个接口,然后定义该接口的URL以及超时设置。 ```java @FeignClient(name = "third-party", url = "${thirdparty.api.url}") public interface ThirdPartyService { @GetMapping("/api") String callThirdPartyApi(); } ``` 2. **RestTemplate**:如果你更倾向于编写XML或Java配置,可以使用内置的RestTemplate。首先创建一个实例,然后发送GET请求到第三方接口。 ```java @Autowired private RestTemplate restTemplate; String response = restTemplate.getForObject("http://third-party.com/api", String.class); ``` 3. **Ribbon+Hystrix**:这两个组件组合在一起用于负载均衡和断路器模式。当调用远程服务时,Ribbon负责查找可用的服务实例,而Hystrix则提供故障切换机制。 ```java @Service @EnableEurekaClient public class ThirdPartyClient { @Autowired private HystrixCommand.Setter commandSetter; @RibbonClient(name = "third-party-service") public ServiceConfiguration serviceConfig() { return new Configurable ribbonConfig -> { ribbonConfig listOfServers().add("http://" +.ribbonHost + ":" +.ribbonPort); }; } public String callThirdPartyApi() { return RibbonCommand.run(commandSetter() .withUrl(serviceConfig().getUri()) .andExecute(() -> restTemplate.getForObject("{endpoint}", String.class, "api")); } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值