使用spring restTemplate的REST API的基本身份验证
我在RestTemplate中是全新的,基本上在REST API中也是如此。我想通过Jira REST API在我的应用程序中检索一些数据,但返回401未经授权。找到了有关jira rest api文档的文章,但实际上并不知道如何将其重写为java,因为该示例使用curl的命令行方式。我将不胜感激任何建议或建议如何重写:
curl -D- -X GET -H "Authorization: Basic ZnJlZDpmcmVk" -H "Content-Type: application/json" "http://kelpie9:8081/rest/api/2/issue/QA-31"
使用Spring Rest模板导入Java。其中ZnJlZDpmcmVk是用户名:密码的base64编码的字符串。非常感谢你。
回答:
我认为通过填写标头值并将标头传递给模板,这将是最自然的方法。
这是为了填写标题Authorization
:
String plainCreds = "willie:p@ssword";byte[] plainCredsBytes = plainCreds.getBytes();
byte[] base64CredsBytes = Base64.encodeBase64(plainCredsBytes);
String base64Creds = new String(base64CredsBytes);
HttpHeaders headers = new HttpHeaders();
headers.add("Authorization", "Basic " + base64Creds);
这是将标头传递给REST模板:
HttpEntity<String> request = new HttpEntity<String>(headers);ResponseEntity<Account> response = restTemplate.exchange(url, HttpMethod.GET, request, Account.class);
Account account = response.getBody();
以上是 使用spring restTemplate的REST API的基本身份验证 的全部内容, 来源链接: utcz.com/qa/422875.html