Моя задача написания кода для извлечения данных из остальных API через URL, как этотКак получить данные с помощью RestTemplate весной
curl -k -v -XPOST -H "username: password" -H "Content-type: application/json" http://localhost:8181/api/rest/person/query -d '
{
"name": "person's name",
"role": "role code",
"programme": "programme code"
}'
И вот мой код
public JsonUser fetchJsonUserByName(String name) throws IOException{
String jsonName = "'{'name': "+"'"+name+"'}'";
String url = "/person/query -d "+jsonName;
ResponseEntity<JsonUser> response = restTemplate.getForEntity(url, JsonUser.class);
try {
if(response.hasBody()) return response.getBody();
else return null;
} catch (HttpStatusCodeException e) {
if(e.getStatusCode() == HttpStatus.NOT_FOUND) return null;
throw new IOException("error fetching user", e);
} catch (Exception e) {
throw new IOException("error fetching user", e);
}
}
И я получил ошибку код 500, когда я запускаю свой код, где я был не прав?
Спасибо за ваш ответ. В следующих вопросах я буду осторожен. –
Btw, '-d' является завитой вариант. В случае сообщения через 'RestTemplate' вам нужно переместить ваше' jsonName' в аргумент 'request'. Прямо сейчас ваш URL-адрес неверен –
Еще раз спасибо за полезную информацию. Я также угадываю причину моего URL. –