Basic authentication for REST API using spring restTemplate

前端 未结 8 1258
眼角桃花
眼角桃花 2020-11-29 21:02

I am completely new in RestTemplate and basically in the REST APIs also. I want to retrieve some data in my application via Jira REST API, but getting back 401 Unauthorised.

8条回答
  •  庸人自扰
    2020-11-29 21:38

    Taken from the example on this site, I think this would be the most natural way of doing it, by filling in the header value and passing the header to the template.

    This is to fill in the header 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);
    

    And this is to pass the header to the REST template:

    HttpEntity request = new HttpEntity(headers);
    ResponseEntity response = restTemplate.exchange(url, HttpMethod.GET, request, Account.class);
    Account account = response.getBody();
    

提交回复
热议问题