Сообщение HttpRequest на Java

Создал новый API на java. Я хочу использовать этот метод API, например методы post, get, но не могу работать. Не могли бы вы подсказать, как это сделать.

 URI url = URI.create("http://localhost:8080/departure/");
                System.out.println("koraylikchi");
                HttpPost httpPost = new HttpPost(url);
                JSONObject jsonObject = new JSONObject();
                jsonObject.put("departDate",dateChooser.getPromptText());
                jsonObject.put("time",timeField.getText());
                jsonObject.put("flight",flightField.getText());
                jsonObject.put("destination",destField.getText());
                jsonObject.put("statusTime",statusTimeField.getText());
                jsonObject.put("terminal",terminalField.getText());
                try {
                    StringEntity se = new StringEntity(jsonObject.toString());
                    se.setContentType(new BasicHeader(HTTP.CONTENT_TYPE,"application/json"));
                    httpPost.setEntity(se);
                    HttpClient client = new HttpClient();
                    int response = client.executeMethod((HttpMethod) httpPost);
                    System.out.println(response);
                } catch (UnsupportedEncodingException e) {
                    e.printStackTrace();
                } catch (HttpException e) {
                    e.printStackTrace();
                } catch (IOException e) {
                    e.printStackTrace();
                }


            }
        });

Но я получаю следующие ошибки

Exception in thread "JavaFX Application Thread" java.lang.ClassCastException: org.apache.http.client.methods.HttpPost cannot be cast to org.apache.commons.httpclient.HttpMethod
    at controllers.AddDialogDepatureController.lambda$onClick$7(AddDialogDepatureController.java:190)
    at controllers.AddDialogDepatureController$$Lambda$413/1162975584.handle(Unknown Source)
    at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
    at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
    at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
    at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
    at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:49)
    at javafx.event.Event.fireEvent(Event.java:198)
    at javafx.scene.Node.fireEvent(Node.java:8216)
    at javafx.scene.control.Button.fire(Button.java:185)

Пожалуйста, не могли бы вы мне намекнуть? Могу ли я сделать HTTPRequest другим способом ??

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
3
0
744
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Попробуйте ниже:

HttpClient client =  HttpClientBuilder.create().build();
HttpPost postRequest = new HttpPost("http://localhost:8080/departure/");
JSONObject jsonObject = new JSONObject();
jsonObject.put("departDate",dateChooser.getPromptText());
jsonObject.put("time",timeField.getText());
jsonObject.put("flight",flightField.getText());
jsonObject.put("destination",destField.getText());
jsonObject.put("statusTime",statusTimeField.getText());
jsonObject.put("terminal",terminalField.getText());
StringEntity se = new StringEntity(jsonObject.toString());
se.setContentType(new BasicHeader(HTTP.CONTENT_TYPE,"application/json"));
postRequest.setEntity(se);

HttpResponse response = client.execute(postRequest);

Спасибо за ответ. Но когда я пытаюсь реализовать ваш код, он дает следующую подсказку в первой строке вашего кода CloseableHttpClient client = HttpClientBuilder.create (). Build ();

Jahongir Sabirov 13.01.2019 09:27

@JahongirSabirov CloseableHttpClient - это класс, реализующий HttpClient. Вы пробовали это? Сообщите мне об ошибке, которую вы сейчас получаете.

Aditya Narayan Dixit 13.01.2019 09:32

Да, сэр, это как-то работает, но все же я не могу получить результат публикации httpRequest. Я имею в виду, что мое приложение javaFX просто продолжает загружаться. На сервере ничего не происходит.

Jahongir Sabirov 13.01.2019 09:38

@AdityaNarayanDixt Что будет с запросом на получение этого запроса?

Jahongir Sabirov 13.01.2019 14:17

Другие вопросы по теме