Feign 请求时带header参数

2023-07-13  本文已影响0人  伊夫_艾尔斯

在使用 Feign 进行 HTTP 请求时,可以通过添加 @RequestHeader 注解来指定请求的 Header 参数。以下是使用 Feign 的 @RequestHeader 注解的示例:

public interface MyApiClient {
    @RequestMapping(method = RequestMethod.GET, value = "/api/resource")
    ResponseEntity<String> getResource(@RequestHeader("Authorization") String token);
}

在上述示例中,我们在 getResource 方法的参数上添加了 @RequestHeader("Authorization") 注解,它指示 Feign 在发送请求时将指定的值作为 "Authorization" Header 参数传递。

您可以根据需要为方法的每个 Header 参数添加相应的 @RequestHeader 注解。例如,如果您要传递多个 Header 参数,可以像这样添加多个注解:

public interface MyApiClient {
    @RequestMapping(method = RequestMethod.GET, value = "/api/resource")
    ResponseEntity<String> getResource(@RequestHeader("Authorization") String token,
                                       @RequestHeader("Content-Type") String contentType);
}

在上述示例中,我们添加了两个 @RequestHeader 注解来指定不同的 Header 参数。

然后,您可以通过调用 Feign 客户端的方法,并传递相应的参数值来发起请求,Feign 将在请求中包含指定的 Header 参数。例如:

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);
        // 处理响应
    }
}

在上述示例中,我们调用 getResource 方法并传递了 token 和 contentType 参数值,Feign 将使用这些值作为请求的 Header 参数发送请求。

From ChatGPT

上一篇下一篇

猜你喜欢

热点阅读