如何在Java RestAssured的RequestSpecBuilder中设置Bearer Token
解决RequestSpecBuilder添加Bearer Token的两种方案
方案一:直接用现有方法传入BearerAuthScheme实例
RestAssured自带BearerAuthScheme类,专门处理Bearer Token认证,直接创建该类实例传入现有方法即可:
String bearerToken = "你的实际Bearer Token"; AuthenticationScheme bearerAuth = new BearerAuthScheme(bearerToken); RequestSpecification spec = requestSpecBuilderWithAuthorization("https://你的基础域名", bearerAuth);
方案二:修改方法直接接收Bearer Token(更省心)
要是不想每次都手动构建BearerAuthScheme,可以选择重载原方法或者直接修改原方法,让它直接接收Token字符串,内部自动处理认证逻辑:
重载方法(保留原方法兼容性)
public static RequestSpecification requestSpecBuilderWithBearerToken(String baseURL, String bearerToken) { AuthenticationScheme bearerAuth = new BearerAuthScheme(bearerToken); return requestSpecBuilderWithAuthorization(baseURL, bearerAuth); } // 调用时更简洁 RequestSpecification spec = requestSpecBuilderWithBearerToken("https://你的基础域名", "你的实际Bearer Token");
直接修改原方法(仅需Bearer Token场景)
如果你的业务场景只需要Bearer Token认证,也可以直接修改原方法的参数:
public static RequestSpecification requestSpecBuilderWithAuthorization(String baseURL, String bearerToken) { RequestSpecification req = new RequestSpecBuilder().setBaseUri(baseURL) .setContentType(ContentType.JSON).setAccept("*/*") .setAuth(new BearerAuthScheme(bearerToken)) .build(); return req; }
注:如果使用的RestAssured版本较低,可能需要替换AuthenticationScheme为AuthScheme,但新版本均使用前者。
内容的提问来源于stack exchange,提问作者Adil Raza
相关产品推荐
相关产品推荐

