如何从自定义resttemplate实现中检索附加的授权头的访问令牌?

sdnqo3pr  于 2021-07-13  发布在  Java
关注(0)|答案(0)|浏览(206)

我有一个自定义的restemplate类,它扩展了restemplate类。它的目的是向其附加一个访问令牌,供用户在发出api请求时使用。
这个班看起来像这样:

public class ModifiedRestTemplate extends RestTemplate {
    private String token;

    private void setInterceptorWithAuthorizationHeaders() {
        super.getInterceptors().clear();
        super.getInterceptors().add((request, body, execution) -> {
            request.getHeaders().add("Authorization", "Bearer "+ this.token);
            return execution.execute(request, body);
        });
    }

我想对这个类进行单元测试,并检查定制restemplate中的头是否确实包含模拟的访问令牌( this.token 以防你仍然对我的目标感到困惑)。原因是这个类中有另一个方法触发了自定义restemplate中所述访问令牌的更新。所以我想测试一下更新过程是否成功。我不知道该怎么做。
resttemplate api具有 headForHeaders 方法,但此方法返回一个空标头(应为空,因为我的mockserver安装程序包含一个空的 success() 无论如何阻止)。
代码示例如下:

mockServer.expect(ExpectedCount.once(), requestTo("http://localhost:8080/test/mock")).andExpect(method(HttpMethod.HEAD)).andRespond(withSuccess());

HttpHeaders httpHeaders = modifiedRestTemplate.headForHeaders("http://localhost:8080/test/mock");

有没有一种方法可以访问自定义restemplate对象/示例,并用其访问令牌提取头?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题