Я пытаюсь использовать конечную точку REST с помощью библиотеки RestTemplate, предоставляемой платформой Spring.
Конечная точка также требует маркер доступа канала-носителя в качестве заголовка авторизации, который получается только как ответ от конечной точки аутентификации пользователя, которая, в свою очередь, ожидает закодированную базовую аутентификацию в своем заголовке.
Это реализация высокого уровня, которую я проделал до сих пор.
HttpHeaders headers = new HttpHeaders();
headers.setAccept(Arrays.asList(MediaType.APPLICATION_JSON));
headers.setBearerAuth(fetchAccessToken());
HttpEntity<String> entity = new HttpEntity<String>("parameters",headers);
ResponseEntity<?> result = this.restClient.exchange(urlToConsume, HttpMethod.GET, entity, String.class);
Метод fetchAccessToken реализован следующим образом
HttpHeaders headers = new HttpHeaders();
headers.setAccept(Arrays.asList(MediaType.APPLICATION_JSON));
headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
headers.setBasicAuth(externalDestination.getClientId(),
externalDestination.getClientSecret());
HttpEntity<String> entity = new HttpEntity<String>("parameters", headers);
ResponseEntity<?> result = restClient.exchange(authUrl, HttpMethod.GET, entity, String.class);
//And Thereby fetching 'access_token' from the successful fetch.
Я хочу знать, есть ли какой-нибудь более чистый способ повторить вышеупомянутую задачу, связанную с несколькими вызовами Rest для выполнения одной задачи.
Кроме того, я хочу знать, пропускаю ли я какие-либо важные проверки с точки зрения безопасности.