在Spring Boot中,可以使用RestTemplate或Feign来调用外部接口。
- RestTemplate调用外部接口:
@Autowired private RestTemplate restTemplate; public void callExternalApi() { String url = "http://external-api.com/api/endpoint"; HttpHeaders headers = new HttpHeaders(); headers.set("Authorization", "Bearer token"); HttpEntityentity = new HttpEntity<>(headers); ResponseEntity response = restTemplate.exchange(url, HttpMethod.GET, entity, String.class); if (response.getStatusCode() == HttpStatus.OK) { String responseBody = response.getBody(); // 处理响应结果 } else { // 处理错误状态码 } }
需要在Spring Boot配置类中配置RestTemplate Bean:
@Bean public RestTemplate restTemplate() { return new RestTemplate(); }
- 使用Feign调用外部接口:
首先在pom.xml中添加Feign依赖:
org.springframework.cloud spring-cloud-starter-openfeign
然后创建一个Feign客户端接口:
@FeignClient(name = "external-api", url = "http://external-api.com") public interface ExternalApiClient { @GetMapping("/api/endpoint") String callExternalApi(); }
在需要调用外部接口的地方注入ExternalApiClient接口,并调用对应的方法:
@Autowired private ExternalApiClient externalApiClient; public void callExternalApi() { String response = externalApiClient.callExternalApi(); // 处理响应结果 }
同时,需要在启动类上添加@EnableFeignClients注解来启用Feign。
以上是使用RestTemplate和Feign两种常用的方法来调用外部接口,具体选择哪种方式取决于需求和个人喜好。