如何设置标题Spring oauth AccessTokenRequest

时间:2015-01-09 00:58:25

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

我正在尝试调用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中的最后一个类,因此它的目的是说&#34;? extends String&#34;在宣言中。

  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);
    
  3. 在这两种情况下,我都会遇到以下编译错误

      

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

         

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

1 个答案:

答案 0 :(得分:2)

对于第二个问题,您可以尝试使用以下内容来设置标题。

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