Как улучшить производительность RestTemplate - PullRequest
1 голос
/ 23 сентября 2019

Я пишу приложение Spring Boot и использую RestTemplate для отправки запроса.

Вот мой метод:

import com.fasterxml.jackson.databind.JsonNode;
import org.springframework.web.client.RestTemplate;

public static JsonNode getResponse(URI uri)
        throws JsonParseException, JsonMappingException, IOException, URISyntaxException {

    RestTemplate restTemplate = new RestTemplate();

    return restTemplate.getForEntity(uri, JsonNode.class).getBody();

}

Когда я запускаю вышеуказанный метод, он занимает примерно3 секундыКогда я запускаю тот же метод в Postman, он занимает примерно 1 секунду.

Что может объяснить эту разницу.Есть ли возможности для улучшения производительности RestTemplate?

1 Ответ

2 голосов
/ 23 сентября 2019

Сначала , объявляйте restTemplate как бин, вместо того, чтобы каждый раз создавать новый.

@Bean
public RestTemplate restTemplate() {
    return new RestTemplate();
}

Второй , попробуйте получить Object.class вместоJsonNode.class.

Третий , попробуйте getForObject(), если вам нужен не объект, а сам объект.

Далее , введите это чтение.Это библиотека, которую Spring использует за кулисами для сериализации / десериализации JSON.

...