標籤:
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);}}
Java 調用restful webservice & jackson