Java 调用restful webservice & jackson
阅读原文时间:2023年07月08日阅读:2

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);  
}

}

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章