Соединение с публичным API - PullRequest
0 голосов
/ 30 сентября 2018

Это мой второй проект в javaFX, так что я застрял без результата соединения.Я пытался подключиться к URL и не очень уверен, правильно ли я это делаю.
В одном проекте, который я нашел в сети, есть соединение в одном классе, а остальная часть кода в контроллере, поэтому я написал втаким образом, и теперь я получаю только мой графический интерфейс без какого-либо результата от System.out.println.Но когда я помещаю свой код в класс Main, я получаю весь результат.Я хотел бы иметь соединение в одном классе и контроллер в другом, поэтому, пожалуйста, скажите мне, что я до сих пор делал неправильно в своем коде.

Это контроллер:

package pretvaracValuta;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ResourceBundle;


public class PretvaracController implements Initializable {

    private URLconnection uc;

    public void initialize(URL url, ResourceBundle rb) {
        uc = new URLconnection();
    }


    public void connection() {
        HttpURLConnection conn = uc.urlConnect();

        try {   

            int responseCode = conn.getResponseCode();
            BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
            System.out.println("Broj tečajnice = "+ responseCode);
            String inputLine;
            StringBuffer response = new StringBuffer();

            while ((inputLine = in.readLine()) != null) {
                response.append(inputLine);

                System.out.println(response.toString());
            }
            in.close();
        }
        catch (IOException e) {
            e.printStackTrace();
        }
        connection();

    }
}

Это класс URLconnection:

package pretvaracValuta;

import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.URL;

public class URLconnection {

public HttpURLConnection urlConnect() {

    try {   

        URL obj = new URL("http://api.hnb.hr/");

        HttpURLConnection con = (HttpURLConnection) obj.openConnection();

        return con;
        }

        catch (IOException e) {
            e.printStackTrace();
        }
        return null;

    }
}

1 Ответ

0 голосов
/ 30 сентября 2018

Зачем изобретать велосипед, если он уже существует?Попробуйте использовать Unirest

System.out.println( Unirest.get( "http://api.hnb.hr/" )
                           .asJson()
                           .getBody()
                           .toString()
);

Примечание. http://api.hnb.hr/ возвращает просмотр страницы веб-сайта.Возможно, попробуйте запросить фактический API, например http://api.hnb.hr/tecajn/v1.

Вот ссылка на зависимость Maven.

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