Отправляйте несколько запросов с помощью одной функции sendPost - PullRequest
0 голосов
/ 06 мая 2020

Как я могу использовать «функцию sendPost». Вместо использования более одной «функции sendPost» для разных запросов в NodeJs?

, как в этом примере, я использую 2 функции sendPost для отправки 2 запросов. Но сам код состоит из двух функций с небольшими изменениями, поэтому мне нужен способ сделать одну функцию sendPost для обоих запросов.

//////// регистрация

    public static void sendPOST1(String POST_PARAMS) throws Exception {
    System.out.println("Sending http");
    URL obj = new URL(POST_URL_SU);
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("POST");
    con.setRequestProperty("Accept", "application/json");
    con.setRequestProperty("Content-Type", "application/json");
    con.setConnectTimeout(50000); // 5 seconds
    con.setReadTimeout(50000); // 5 seconds
    con.setDoOutput(true);
    OutputStream os = con.getOutputStream();
    byte[] outputBytesArray = POST_PARAMS.getBytes();
    os.write(outputBytesArray);
    os.flush();
    os.close();
    int responseCode = con.getResponseCode();
    System.out.println("POST Response Code :: " + responseCode);

    if (responseCode == HttpURLConnection.HTTP_OK) { //success
        BufferedReader in = new BufferedReader(new InputStreamReader(
                con.getInputStream()));
        String inputLine;
        StringBuffer response = new StringBuffer();
        // Here it read line line 
        while ((inputLine = in.readLine()) != null) {
            response.append(inputLine);
        }
        in.close();
        System.out.println("Res: " + response.toString());
         } else {
        System.out.println(con.getResponseMessage());
        System.out.println("POST request not worked");
        }
        }

//////// Логин

       public static void sendPOST2(String POST_PARAMS) throws Exception {
        System.out.println("Sending http");
        URL obj = new URL(POST_URL_LI);
        HttpURLConnection con = (HttpURLConnection) obj.openConnection();
        con.setRequestMethod("POST");
        con.setRequestProperty("Accept", "application/json");
        con.setRequestProperty("Content-Type", "application/json");
        con.setConnectTimeout(50000); // 5 seconds
        con.setReadTimeout(50000); // 5 seconds
        con.setDoOutput(true);
        OutputStream os = con.getOutputStream(); 
         byte[] outputBytesArray = POST_PARAMS.getBytes();  
         os.write(outputBytesArray);
         os.flush();
         os.close();
         int responseCode = con.getResponseCode();
         System.out.println("POST Response Code :: " + responseCode);
         if (responseCode == HttpURLConnection.HTTP_OK) { //success
         BufferedReader in = new BufferedReader(new InputStreamReader(
                con.getInputStream()));
         String inputLine;
         StringBuffer response = new StringBuffer();
         while ((inputLine = in.readLine()) != null) {
            response.append(inputLine);
          }
         in.close();
         System.out.println("Res: " + response.toString());
         } else {
         System.out.println(con.getResponseMessage());
         System.out.println("POST request not worked");
         }
         }

1 Ответ

0 голосов
/ 06 мая 2020

Вы можете создать единственную функцию sendPost(), которая принимает параметр URL:

public static void sendPost(String url, String POST_PARAMS) throws Exception {
        System.out.println("Sending http");
        URL obj = new URL(url);
        HttpURLConnection con = (HttpURLConnection) obj.openConnection();
        con.setRequestMethod("POST");
        con.setRequestProperty("Accept", "application/json");
        con.setRequestProperty("Content-Type", "application/json");
        con.setConnectTimeout(50000); // 5 seconds
        con.setReadTimeout(50000); // 5 seconds
        con.setDoOutput(true);
        OutputStream os = con.getOutputStream(); 
         byte[] outputBytesArray = POST_PARAMS.getBytes();  
         os.write(outputBytesArray);
         os.flush();
         os.close();
         int responseCode = con.getResponseCode();
         System.out.println("POST Response Code :: " + responseCode);
         if (responseCode == HttpURLConnection.HTTP_OK) { //success
         BufferedReader in = new BufferedReader(new InputStreamReader(
                con.getInputStream()));
         String inputLine;
         StringBuffer response = new StringBuffer();
         while ((inputLine = in.readLine()) != null) {
            response.append(inputLine);
          }
         in.close();
         System.out.println("Res: " + response.toString());
         } else {
         System.out.println(con.getResponseMessage());
         System.out.println("POST request not worked");
         }
         }

Фактически, я предлагаю вам разбить эту функцию на несколько более мелких функций, которые выполняют простые задачи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...