Cześć,
próbuje zrobić zadanie w którym mam wysłać zapytanie HTTP Get i pobrać dane. Jeśli zapytanie się nie uda, mam zwrócić wiadomość, oraz status HTTP. Dane pobieram z API udostępnionego przez Github:
try {
URL urlUser = new URL("https://api.github.com/users/blablabla");
InputStreamReader readUserData = new InputStreamReader(urlUser.openStream());
Owner user = new Gson().fromJson(readUserData, Owner.class);
System.out.println(user.getLogin());
} catch (Exception e) {
System.out.println(e.getMessage());
}
stworzyłem specjalną klasę Owner, która ma wszystkie pola znajdujące się w Jsonie, który dostaje w odpowiedzi.
Mam jednak problem z pobraniem potrzebnych danych w przypadku podania nieprawidłowego loginu. W Postmanie wygląda to tak:
A przy użyciu swojego programu dostaje
java.io.FileNotFoundException: https://api.github.com/users/blabererelabla
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1993)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1589)
at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:224)
at java.base/java.net.URL.openStream(URL.java:1161)
at pl.szymanski.githubInformationFinder.Service.RepositoryService.main(RepositoryService.java:49)
Process finished with exit code 0
i nie mogę znaleźć tam informacji na temat zwróconych danych.
Może powinienem użyć czegoś innego niż InputStreamReader - próbowałem z HTTPClient i innymi znalezionymi w internecie, ale nigdzie nie mogę znaleźć potrzebnych informacji.