zoukankan      html  css  js  c++  java
  • 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:
    ");
                 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);
    	}
    
    }
    

      

  • 相关阅读:
    XAML学习笔记之Layout(五)——ViewBox
    XAML学习笔记——Layout(三)
    XAML学习笔记——Layout(二)
    XAML学习笔记——Layout(一)
    从0开始搭建SQL Server 2012 AlwaysOn 第三篇(安装数据,配置AlwaysOn)
    从0开始搭建SQL Server 2012 AlwaysOn 第二篇(配置故障转移集群)
    从0开始搭建SQL Server 2012 AlwaysOn 第一篇(AD域与DNS)
    Sql Server 2012 事务复制遇到的问题及解决方式
    Sql Server 2008R2升级 Sql Server 2012 问题
    第一次ACM
  • 原文地址:https://www.cnblogs.com/dunkbird/p/4433027.html
Copyright © 2011-2022 走看看