【发布时间】:2018-04-09 23:23:00
【问题描述】:
我想使用一个使用 basicAuth 保护的 post 方法。我正在使用 springBoot,Spring RestTemplate 来消费它。
我试过这样:
@CrossOrigin(origins = "*", maxAge = 3600)
@RequestMapping(value = "/ValidateAnswers", method = RequestMethod.POST)
public ResponseEntity<String> ValidateAnswers(@RequestBody Object requestIbject,
HttpServletRequest request, HttpServletResponse response) {
final String uri = "foo:8080//validateAnswers";
// hiding full path here,
RestTemplate restTemplate = new RestTemplate();
String plainClientCredentials = "user:pass";
String base64ClientCredentials = new String(
Base64.encodeBase64(plainClientCredentials.getBytes()));
HttpHeaders headers = new HttpHeaders();
headers.add("Authorization", "Basic " + base64ClientCredentials);
HttpEntity<String> entity = new HttpEntity<String>("parameters",
headers);
ResponseEntity<String> respEntity = restTemplate.postForObject(uri, requestIbject, String.class);
// .exchange(uri,
// HttpMethod.POST, entity, String.class);
System.err.println("=------------Response--------------");
System.err.println("----" + respEntity);
return respEntity;
}
如何使用 basicAuth 传递标头并发布请求正文?
【问题讨论】:
标签: java spring spring-boot http-post spring-rest