在Spring Boot中,可以使用RestTemplate或Feign來調用外部接口。
@Autowired
private RestTemplate restTemplate;
public void callExternalApi() {
String url = "http://external-api.com/api/endpoint";
HttpHeaders headers = new HttpHeaders();
headers.set("Authorization", "Bearer token");
HttpEntity<String> entity = new HttpEntity<>(headers);
ResponseEntity<String> 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();
}
首先在pom.xml中添加Feign依賴:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
然后創建一個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兩種常用的方法來調用外部接口,具體選擇哪種方式取決于需求和個人喜好。