Java 调用restful webservice & jackson
package com.bullshit.webcrawler.client.impl; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStream; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import java.util.List; import com.bullshit.storage.entity.AuthUser; import com.bullshit.storage.entity.Proxy; import com.bullshit.storage.entity.vo.AuthUsersVo; import com.fasterxml.jackson.databind.ObjectMapper; public class ProxyCollectionRestService { private static final String targetURL = "http://localhost:8080/blueberry/rest/v1/api/proxies"; public Proxy[] getAllProxies(){ Proxy[] proxies = null; try { URL restServiceURL = new URL(targetURL); HttpURLConnection httpConnection = (HttpURLConnection) restServiceURL.openConnection(); httpConnection.setRequestMethod("GET"); httpConnection.setRequestProperty("Accept", "application/json"); if (httpConnection.getResponseCode() != 200) { throw new RuntimeException("HTTP GET Request Failed with Error code : " + httpConnection.getResponseCode()); } BufferedReader responseBuffer = new BufferedReader(new InputStreamReader( (httpConnection.getInputStream()))); String output; ObjectMapper objectMapper = new ObjectMapper(); while ((output = responseBuffer.readLine()) != null) { proxies = objectMapper.readValue(output, Proxy[].class); List<Proxy> myObjects22 = objectMapper.readValue(output, objectMapper.getTypeFactory().constructCollectionType(List.class, Proxy.class)); System.out.println(myObjects22.size()); break; } httpConnection.disconnect(); } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return proxies; } public AuthUsersVo postAuthUserInfo(AuthUser record){ AuthUsersVo authUsersVo = null; try { URL targetUrl = new URL(targetURL); HttpURLConnection httpConnection = (HttpURLConnection) targetUrl.openConnection(); httpConnection.setDoOutput(true); httpConnection.setRequestMethod("POST"); httpConnection.setRequestProperty("Content-Type", "application/json"); ObjectMapper objectMapper = new ObjectMapper(); String input = objectMapper.writeValueAsString(record); OutputStream outputStream = httpConnection.getOutputStream(); outputStream.write(input.getBytes()); outputStream.flush(); if (httpConnection.getResponseCode() != 200) { throw new RuntimeException("Failed : HTTP error code : " + httpConnection.getResponseCode()); } BufferedReader responseBuffer = new BufferedReader(new InputStreamReader( (httpConnection.getInputStream()))); String output; System.out.println("Output from Server:\n"); while ((output = responseBuffer.readLine()) != null) { System.out.println(output); } httpConnection.disconnect(); } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return authUsersVo; } public static void main(String[] args) { ProxyCollectionRestService service = new ProxyCollectionRestService(); Proxy[] s = service.getAllProxies(); System.out.println(s.length); } }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。