GET запрос с параметром
Всем привет, буду благодарен за любой совет. В общем, мне нужно отправить get запрос с параметром на внешний rest api. Вот код контроллера:
@GetMapping("/add/{value}")
public ResponseEntity add(@PathVariable(value = "value") String value) {
try {
RestTemplate restTemplate = new RestTemplate();
return restTemplate.getForEntity("https://bhub.ru/add/{value}", String.class, "value");
} catch (HttpServerErrorException e) {
e.printStackTrace();
return ResponseEntity.badRequest().body("504 Gateway Time-out. The server didn't respond in time.");
}
}
Проблема такая, когда я выполняю запрос через инсомнию, в БД попадает только uriVariable "value", и так вопрос, как сделать так, чтобы в БД добавлялись строки из гет запроса?
Ответы (1 шт):
Автор решения: Gleb Kuznetsov
→ Ссылка
К примеру так:
UriComponents uri = UriComponentsBuilder.fromUriString("https://bhub.ru/add/{value}")
.buildAndExpand(value);
ResponseEntity<String> response = restTemplate.getForEntity(uri.toString(), String.class);
Примеры для UriComponents тут: https://www.baeldung.com/spring-uricomponentsbuilder
Или так:
Map<String, Object> params = new HashMap<>();
params.put("value", value);
ResponseEntity<String> response = restTemplate.getForEntity("https://bhub.ru/add/{value}", String.class, params);
Вот еще примеры: https://www.programmersought.com/article/17133006211/