SpringRestTemplateCredential/Authorization在header中未经授权,在postman中工作正常

SpringRestTemplateCredential/Authorization在header中未经授权,在postman中工作正常,postman,resttemplate,http-status-code-401,unauthorized,Postman,Resttemplate,Http Status Code 401,Unauthorized,使用邮递员,用于包含用户名和密码头值的GET请求 并且成功地点击了rest服务,获得了200条回复 但是当java代码试图使用springRestTemplategetting401 unauthorizedissue访问同一请求时 这是密码 final String uri = "http://<host>:<port>/services/arecord"; HttpHeaders headers = new HttpHeaders();

使用邮递员,用于包含用户名和密码头值的GET请求 并且成功地点击了rest服务,获得了200条回复

但是当java代码试图使用spring
RestTemplate
getting
401 unauthorized
issue访问同一请求时

这是密码

      final String uri = "http://<host>:<port>/services/arecord";

        HttpHeaders headers = new HttpHeaders();
        headers.setContentType(MediaType.APPLICATION_JSON);
        MultiValueMap<String, String> map = new LinkedMultiValueMap<>();
        map.add("username", "admin");
        String password = "admin";

        map.add("password", password);
        HttpEntity<MultiValueMap<String, String>> request = new HttpEntity<>(map, headers);

        RestTemplate restTemplate = new RestTemplate();

        try {
            ResponseEntity<String> response = restTemplate.exchange(uri, HttpMethod.GET,
                    new HttpEntity(createHeaders("admin", "admin")), String.class);
            String body = response.getBody();

        } catch (HttpClientErrorException e) {

            logger.info("****** ERROR *********** " + e.getMostSpecificCause());
            return true;
        }
final String uri=“http://:/services/arecord”;
HttpHeaders=新的HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
MultiValueMap=新链接的MultiValueMap();
添加(“用户名”、“管理员”);
字符串password=“admin”;
地图。添加(“密码”,密码);
HttpEntity请求=新的HttpEntity(映射、头);
RestTemplate RestTemplate=新RestTemplate();
试一试{
ResponseEntity response=restemplate.exchange(uri,HttpMethod.GET,
新的HttpEntity(createHeaders(“admin”,“admin”)),String.class);
String body=response.getBody();
}捕获(HttpClientErrorE异常){
logger.info(“******错误**********”+e.GetMostSpecificCase());
返回true;
}

我还没有测试过,但请尝试以下方法:

final String uri = "http://<host>:<port>/services/arecord";

HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
headers.set("username", "admin");
headers.set("password", "admin");

HttpEntity entity = new HttpEntity(headers);
RestTemplate restTemplate = new RestTemplate();

try {
      ResponseEntity<String> response = restTemplate.exchange(
        uri, HttpMethod.GET, entity, String.class);

      String body = response.getBody();

} catch (HttpClientErrorException e) {
      logger.info("****** ERROR *********** " + e.getMostSpecificCause());
      return true;
}
final String uri=“http://:/services/arecord”;
HttpHeaders=新的HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
headers.set(“用户名”、“管理员”);
headers.set(“密码”、“管理员”);
HttpEntity=新的HttpEntity(标题);
RestTemplate RestTemplate=新RestTemplate();
试一试{
ResponseEntity response=restemplate.exchange(
uri,HttpMethod.GET,实体,String.class);
String body=response.getBody();
}捕获(HttpClientErrorE异常){
logger.info(“******错误**********”+e.GetMostSpecificCase());
返回true;
}