在使用 Feign 進(jìn)行 HTTP 請(qǐng)求時(shí)健提,可以通過(guò)添加 @RequestHeader 注解來(lái)指定請(qǐng)求的 Header 參數(shù)谊却。以下是使用 Feign 的 @RequestHeader 注解的示例:
public interface MyApiClient {
@RequestMapping(method = RequestMethod.GET, value = "/api/resource")
ResponseEntity<String> getResource(@RequestHeader("Authorization") String token);
}
在上述示例中禁舷,我們?cè)?getResource 方法的參數(shù)上添加了 @RequestHeader("Authorization") 注解权逗,它指示 Feign 在發(fā)送請(qǐng)求時(shí)將指定的值作為 "Authorization" Header 參數(shù)傳遞。
您可以根據(jù)需要為方法的每個(gè) Header 參數(shù)添加相應(yīng)的 @RequestHeader 注解诺舔。例如奉狈,如果您要傳遞多個(gè) Header 參數(shù)卤唉,可以像這樣添加多個(gè)注解:
public interface MyApiClient {
@RequestMapping(method = RequestMethod.GET, value = "/api/resource")
ResponseEntity<String> getResource(@RequestHeader("Authorization") String token,
@RequestHeader("Content-Type") String contentType);
}
在上述示例中,我們添加了兩個(gè) @RequestHeader 注解來(lái)指定不同的 Header 參數(shù)仁期。
然后桑驱,您可以通過(guò)調(diào)用 Feign 客戶(hù)端的方法,并傳遞相應(yīng)的參數(shù)值來(lái)發(fā)起請(qǐng)求跛蛋,F(xiàn)eign 將在請(qǐng)求中包含指定的 Header 參數(shù)熬的。例如:
public class MyApp {
public static void main(String[] args) {
MyApiClient client = Feign.builder()
.target(MyApiClient.class, "http://api-service-url");
String token = "Bearer my-token";
String contentType = "application/json";
ResponseEntity<String> response = client.getResource(token, contentType);
// 處理響應(yīng)
}
}
在上述示例中,我們調(diào)用 getResource 方法并傳遞了 token 和 contentType 參數(shù)值赊级,F(xiàn)eign 將使用這些值作為請(qǐng)求的 Header 參數(shù)發(fā)送請(qǐng)求押框。
From ChatGPT