Как исправить: «java.lang.ClassCastException: com.mashape.unirest.http.HttpResponse не может быть приведен к org.apache.http.HttpResponse» - PullRequest
0 голосов
/ 24 апреля 2019

Я пытаюсь подключиться к нашему магазину Shopify, чтобы получить JSON или String о наших заказах. Я использовал сгенерированный фрагмент кода из программного обеспечения POSTMAN для "Java Unirest":

    public void getNewShopifyOrders() throws MalformedURLException, IOException, JSONException, SQLException {
    try {
        HttpResponse response = (HttpResponse) Unirest.get("https://nameStore.myshopify.com/admin/api/2019-04/orders.json")
                .header("Authorization", "Basic AuthenticationString")
                .header("cache-control", "no-cache")
                .header("Postman-Token", "postmanToken")
                .asString();
        System.out.println(response);
        } catch (UnirestException ex) {
        Logger.getLogger(Main_Window.class.getName()).log(Level.SEVERE, null, ex);
    }

}

Я попробовал этот сгенерированный код, и мне нужно было импортировать

  • Httpcomponents-клиент-4.5.8
  • Httpcomponents-ядро-4.4.11
  • unirest-Java-1.4.9.jar
  • Httppasyncclient-4,0-beta4.jar

Но у меня все еще есть проблемы, мне нужно немного изменить код, потому что ошибки, которые я получаю:

HttpResponse response = Unirest.get () - возникла проблема «HttpResponse не принимает параметры» и после удаления выдает ошибку:

     Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: com.mashape.unirest.http.HttpResponse cannot be cast to org.apache.http.HttpResponse
at quirkygiftliibrarydatabasemanager.Main_Window.getNewShopifyOrders(Main_Window.java:1816)
at quirkygiftliibrarydatabasemanager.Main_Window.jButton_RefreshShopifyOrdersActionPerformed(Main_Window.java:803)
at quirkygiftliibrarydatabasemanager.Main_Window.access$1200(Main_Window.java:44)
at quirkygiftliibrarydatabasemanager.Main_Window$14.actionPerformed(Main_Window.java:531)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6533)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6298)
at java.awt.Container.processEvent(Container.java:2236)
at java.awt.Component.dispatchEventImpl(Component.java:4889)
at java.awt.Container.dispatchEventImpl(Container.java:2294)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
at java.awt.Container.dispatchEventImpl(Container.java:2280)
at java.awt.Window.dispatchEventImpl(Window.java:2746)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.awt.EventQueue$4.run(EventQueue.java:729)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

Может ли кто-нибудь помочь мне, пожалуйста?

1 Ответ

1 голос
/ 24 апреля 2019

Я нашел решение, чтобы получить JSON с помощью Unires, вот код для подключения к Shopify shop, чтобы получить список заказов:

     com.mashape.unirest.http.HttpResponse<JsonNode> response = Unirest.get("https://shopName.myshopify.com/admin/api/2019-04/orders.json").basicAuth("Api-Key", "Password").asJson();
   JSONObject myJSON = response.getBody().getObject();

Надеюсь, это поможет и другим людям :)

...