使用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

回到顶部