Команда Curl, которая делает запрос GET к серверу, работает в терминале, но не в коде Java - PullRequest
0 голосов
/ 04 декабря 2018

У меня есть сервер localhost, использующий джерси, который действует как мой API, когда я запускаю запрос curl GET в командной строке, я получаю ожидаемый результат, но, когда я делаю то же самое в Java, я получаю ошибку 404.

У меня есть код под кнопкой jButtonActionPerformed, где пользователь нажимает кнопку, чтобы выполнить команду curl, что очень странно, если я нажимаю кнопку несколько раз, в конце концов получаю ответ, который ищу, однако первый щелчок всегда возвращает 404ошибка.Любая помощь по этому вопросу будет принята с благодарностью!

Код

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         

        Runtime rt = Runtime.getRuntime();
        Process p = rt.exec("curl -i -H \"Accept: application/json\" -H \"Content-Type: application/json\" -X GET http://localhost:8080/api/products/1");
        String result = new BufferedReader(
                       new InputStreamReader(p.getInputStream()))
                           .lines()
                           .collect(Collectors.joining("\n"));
        System.out.println(result);


    } catch (IOException ex) {
        Logger.getLogger(GetDetailsGUI.class.getName()).log(Level.SEVERE, null, ex);
    }

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