Получение ошибки 404 при вызове Get Request в Java - PullRequest
0 голосов
/ 04 декабря 2018

Я пытаюсь вызвать запрос GET для конкретной конечной точки API, чтобы получить информацию о продукте.У меня есть два проекта NetBeans, один для сервера, на котором у меня есть конечные точки, а другой для моего GUI.

В моем классе GUI у меня есть кнопка, чтобы получить информацию о продукте, и я пытаюсь поместить возвращенный JSON вTextArea в Swing.У меня есть два класса в моем проекте GUI, один для получения клиента, который возвращает json в виде строки, и другой класс для моего jFrame.

Странно, когда я вызываю свой клиентский класс при нажатии кнопки, я получаю:! Исключение в потоке "AWT-EventQueue-0" java.lang.RuntimeException: Failed>: Код ошибки HTTP: 404

Когда я просто запускаю клиентский класс сам, я получаю ожидаемый результатв консоли, не знаете, как это исправить, если кто-то может помочь?

ClientCall.java

public class ClientCall{

String tempOut = "";

public String getProduct() throws ClientProtocolException, IOException  {

    DefaultHttpClient httpClient = new DefaultHttpClient();
    HttpGet getRequest = new HttpGet(
            "http://localhost:8080/api/product/1");
    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);
    }
    tempOut = output;
    httpClient.getConnectionManager().shutdown();

    return tempOut;
}

/*public static void main(String args[]) throws IOException{
    ClientCall c = new ClientCall();
    System.out.println(c.getProduct());
}*/

}

GUI.java

private void jButton1MouseClicked(java.awt.event.MouseEvent evt) {                                      
    // TODO add your handling code here:
    System.out.print("!");
    try {
        System.out.println(cc.getProduct());

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

Обратите внимание, в моем коде выше (GUI) я просто выводил ответ, даже это не работает.

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