Используйте Spring RestTemplate для возврата изображений и PDF-файлов в виде строк Base64 - PullRequest
0 голосов
/ 03 ноября 2019

В настоящее время я пытаюсь расширить Spring RestTemplate с целью иметь некоторые стандартные методы для выполнения операций REST, таких как GET и POST. В качестве примера я сделал этот метод для выполнения операции GET:

class HttpClient extends RestTemplate {

    HttpClient() {
        super()
    }

    HttpHeaders headers = initialHeaders()

    ResponseEntity<String> get(String url) {
        ResponseEntity<String> response = this.exchange(url, HttpMethod.GET, getHttpEntity(), String.class)
        return response
    }

    private HttpEntity getHttpEntity() {
        return new HttpEntity(headers)
    }

}

Этот метод отлично работает для получения текстовых данных, таких как XML или JSON. Но когда я хочу получить данные изображения / PDF, я в настоящее время использую отдельный метод для получения ответа в виде байтового массива, который затем можно преобразовать в строку в кодировке Base64. Но возможно ли каким-то образом заставить RestTemplate преобразовать все данные определенных Mime-типов в строки в кодировке Base64, чтобы я мог использовать один и тот же метод для различных типов ответов?

...