我正在使用Restlet2.3来运行REST API测试自动化。
新功能有一个客户HTTP标头,用于将令牌传递给服务。
Form headers = (Form)resource.getRequestAttributes().get("org.restlet.http.headers");
if (headers == null) {
headers = new Form();
resource.getRequestAttributes().put("org.restlet.http.headers", headers);
}
...
headers.add(key, value);
代码有效。现在,客户HTTP标头被定义为"授权"。上面的代码似乎没有正确传递标题。这不是挑战,参与其中。
我在SoapUI和Postman上测试了这个场景。两者都有效。
任何人都知道restlet支持这个吗?
答案 0 :(得分:2)
事实上,在执行请求时,您无法使用Restlet覆盖Authorization
等标准标头。
如果您想提供安全令牌,可以使用以下方法:
String pAccessToken = "some token";
ChallengeResponse challengeResponse = new ChallengeResponse(
new ChallengeScheme("", ""));
challengeResponse.setRawValue(pAccessToken);
clientResource.setChallengeResponse(challengeResponse);
这样,您只会在Authorization
标题中包含令牌(开头有空格 - 所以不要忘记修剪该值)。