HTTP JSON запросы в Java? - PullRequest
       19

HTTP JSON запросы в Java?

12 голосов
/ 17 декабря 2010

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

Ответы [ 2 ]

14 голосов
/ 22 декабря 2010

Помимо выполнения самого HTTP-запроса - что можно сделать даже с помощью java.net.URL.openConnection - вам просто нужна библиотека JSON. Для удобного связывания с / из POJO я бы рекомендовал 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.

3 голосов
/ 17 декабря 2010
...