gpt4 book ai didi

java - 具有承载授权的 RestTemplate

转载 作者:行者123 更新时间:2023-12-04 02:39:45 26 4
gpt4 key购买 nike

是否可以使用 RestTemplateBuilder 创建仅带有不记名 header 和 token 的 RestTemplate 实例?

我知道我可以使用 RestTemplate 交换并在 HttpEntity 中设置我的标题,但是否可以执行以下操作:

public RestTemplate getRestTemplate(){
RestTemplateBuilder builder = new RestTemplateBuilder();
return builder.build().exchange().setBearerAuth("token here"); //this is not possible
}

希望你明白我想做什么。

最佳答案

您可以使用拦截器将 token 注入(inject)到请求 header 中,如下所示

    @Bean(name = "myRestTemplate")
public RestTemplate someRestTemplate(RestTemplateBuilder builder) {
return builder.rootUri("some uri")
.additionalInterceptors((ClientHttpRequestInterceptor) (request, body, execution) -> {
request.getHeaders().add("Bearer", "token");
return execution.execute(request, body);
}).build();
}
从您的应用程序中,您可以像这样简单地使用
    @Autowired
@Qualifier("myRestTemplate")
private RestTemplate restTemplate;
请记住,您仍然可以使用 restTemplate像往常一样设置对象,设置标题等, 但是 Bearer标题将始终被 "token" 覆盖导致拦截器在请求发出之前应用

关于java - 具有承载授权的 RestTemplate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59929037/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com