2016-10-13 4 views
1

В настоящее время я работаю над проектом приложения Java. Это существующее приложение, и меня попросили изменить его. Они говорят, что я должен сделать веб-службу, которая вызывает другое приложение (вызовы - это URL-адрес), а затем передать данные из INI-файла приложения, которое я изменяю. Я просто новый с такими вещами, я действительно дома, кто-то может мне помочь. Так вот код, который записывает INI файл:Вызвать url и отправить JSONObject с HttpGet

   common.writeIniFileIdentify("PV-ID", PVIDNo); 
       common.writeIniFileIdentify("PALMUS-ID", SerialNo); 

И я преобразовал его строк:

   Properties p = new Properties(); 
       p.load(new FileInputStream("C:/PALMUS-PV/PVInfo.ini")); 
       String pvid = p.getProperty("PV-ID"); 
       String palmusid = p.getProperty("PALMUS-ID"); 
       System.out.println(pvid); 
       System.out.println(palmusid); 

       this.sendPVDetails(pvid, palmusid); //this will pass the data to sendPVDetails method 

И это HttpGet, что я использую (только что видел это в интернете):

public void sendPVDetails(String pvid, String palmusid) { 
     try { 

     DefaultHttpClient httpClient = new DefaultHttpClient(); 
     HttpGet getRequest = new HttpGet(
       "https://url.of.the.another.application"); 

     JSONObject jsonObject = new JSONObject(); 
     jsonObject.put("PV-ID", pvid); 
     jsonObject.put("PALMUS-ID", palmusid); 

     getRequest.addHeader("accept", "application/json"); 

     HttpResponse response = httpClient.execute(getRequest); 

     if (response.getStatusLine().getStatusCode() != 200) { 
      throw new RuntimeException("Failed : HTTP error code : " 
       + response.getStatusLine().getStatusCode()); 
     } 

     BufferedReader br = new BufferedReader(
         new InputStreamReader((response.getEntity().getContent()))); 

     String output; 
     System.out.println("Output from Server .... \n"); 
     while ((output = br.readLine()) != null) { 
      System.out.println(output); 
     }   

     httpClient.getConnectionManager().shutdown(); 

     } catch (ClientProtocolException e) { 

     e.printStackTrace(); 

     } catch (IOException e) { 

     e.printStackTrace(); 
     } 

    } 

Я немного смущен тем, как работает HttpGet, потому что я впервые вижу этот вид кодов, а java также новичок для меня. они говорят, что мне нужно использовать «return ResponseEntity», но это просто для контроллера, а метод, который я использую, не является контроллером. Я действительно надеюсь, что кто-то может вести меня. Заранее спасибо.

ответ

1

HTTP GET метод используется для извлечения содержимого из заданного URI. Поскольку мы только предположим, что будем называть GET на URI, никакого контента не будет. Чтобы отправить (отправить) некоторый контент на определенный URI, вам нужно использовать HTTP POST. Вы можете использовать HttpPost, чтобы выполнить ваши требования. Here Является хорошим примером использования клиентской библиотеки http.

Смежные вопросы