Подтвердить что ты не робот

HTTP-запросы Json в Java?

Как сделать HTTP-запросы Json в Java? Любая библиотека? В разделе "HTTP Json request" я имею в виду сделать POST с объектом Json в качестве данных и получить результат как Json.

4b9b3361

Ответ 1

Помимо выполнения самого HTTP-запроса, который может быть выполнен даже с помощью java.net.URL.openConnection, вам просто нужна библиотека JSON. Для удобной привязки к/из POJOs я бы рекомендовал Jackson.

Итак, что-то вроде:

// First open URL connection (using JDK; similar with other libs)
URL url = new URL("http://somesite.com/requestEndPoint");
URLConnection connection = url.openConnection();
connection.setDoInput(true);  
connection.setDoOutput(true);  
// and other configuration if you want, timeouts etc
// then send JSON request
RequestObject request = ...; // POJO with getters or public fields
ObjectMapper mapper = new ObjectMapper(); // from org.codeahaus.jackson.map
mapper.writeValue(connection.getOutputStream(), request);
// and read response
ResponseObject response = mapper.readValue(connection.getInputStream(), ResponseObject.class);

(очевидно, с лучшей проверкой ошибок и т.д.).

Есть лучшие способы сделать это, используя существующие библиотеки rest-client; но на низком уровне это просто вопрос об обработке HTTP-соединения и привязка данных к/из JSON.