【问题标题】:How to set headers Spring oauth AccessTokenRequest如何设置标头Spring oauth AccessTokenRequest
【发布时间】:2015-01-09 09:55:19
【问题描述】:

我正在尝试调用 org.springframework.security.oauth2.client.token.AccessTokenRequest 的 setHeaders 方法,但无法做到。

org.springframework.security.oauth2.client.token.AccessTokenRequest 类声明

void setHeaders(Map<? extends String, ? extends List<String>> headers);

问题:

  1. 既然String是java中的final类,那么在声明中说“?extends String”有什么目的呢。

  2. 如何创建我的地图并将条目放入其中。我试过关注

    final Map<? extends String, ? extends List<String>> headers = accTknReq.getHeaders();
    final List<String> lst1 = headers.get("MyHeader");
    final ArrayList<String> lst2 = new ArrayList<>();
    headers.put("MyHeader", lst1);
    headers.put("MyHeader", lst2);
    

在这两种情况下,我都会收到以下编译器错误

[错误] 无法在项目上执行目标 org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) :编译失败:编译失败:

[ERROR] :[33,24] 接口 java.util.Map 中的方法不能应用于给定类型; [错误] 必需:捕获#1 of ?扩展 java.lang.String,capture#2 of ?扩展 java.util.List [错误] 发现:java.lang.String,java.util.List

【问题讨论】:

    标签: java spring spring-security spring-security-oauth2


    【解决方案1】:

    对于第二个问题,您可以尝试如下设置标题。

    final Map<String, List<String>> headers = new HashMap<>(accTknReq.getHeaders());
    

    【讨论】:

    • srkavin,谢谢。这帮助我继续。
    猜你喜欢
    • 2021-06-20
    • 1970-01-01
    • 2017-05-11
    • 2013-01-21
    • 2013-10-14
    • 2013-07-07
    • 2014-12-03
    • 1970-01-01
    • 2020-03-26
    相关资源
    最近更新 更多