Как опубликовать данные JSON с помощью Spring RestTemplate? - PullRequest
1 голос
/ 08 сентября 2011

Я не совсем понимаю, как решить мою конкретную ситуацию, учитывая примеры, которые я нашел. Я пытаюсь опубликовать строку JSON по URL, чтобы создать новый объект. Ответ от службы REST - это URI для вновь созданного ресурса. Предполагается, что вызов REST выглядит следующим образом:

http://www.some.url.com/REST/create?data={ "param1":"value1", "param2":"value2", ... }

Так, каковы мои параметры, основанные на примере выше? Это что-то вроде этого?

RestTemplate restTemplate = new RestTemplate();
URI uri = restTemplate.postForLocation("http://www.some.url.com/REST/create?data=", "{ "param1":"value1", "param2":"value2", ... }");

В настоящее время у меня есть все пары параметров / значений на карте, которые можно легко преобразовать в JSON с помощью Jackson. В этом случае я могу сделать следующее:

Map<String, String> record = new HashMap<String, String>();
record.put("param1","value1");
record.put("param2","value2");

URI uri = restTemplate.postForLocation("http://www.some.url.com/REST/create?data=", record);

Любая помощь будет принята с благодарностью!

1 Ответ

0 голосов
/ 02 февраля 2014

легкий путь к этому это

public static String callService(String url, Map<String, String> data) throws Exception 
{RestTemplate rest = new RestTemplate();
ResponseEntity<String> response= rest.postForEntity(url, data, String.class);
            System.out.println(response.getBody()); 
}
...