I am trying just to hit a GET API using java but I am getting this error everytime
This error is happenning at restclient.get() line
Help here
I have provided all the class
Restclient class ->
public class Restclient {
// Hit get method
@SuppressWarnings("deprecation")
public void get(String url) throws IOException, ParseException, URISyntaxException {
HttpGet httpget = new HttpGet(url);
try (CloseableHttpClient httpClient = HttpClients.createDefault()) {
CloseableHttpResponse response = httpClient.execute(httpget);
System.out.println("Response status: " + response.getReasonPhrase());
int statuscode = response.getCode();
System.out.println("Status code : " + statuscode);
String responseString = EntityUtils.toString(response.getEntity(), "UTF-8");
JsonObject responseJson = JsonParser.parseString(responseString).getAsJsonObject();
System.out.println("Response from API : " + responseJson);
Header[] headerarray = response.getHeaders();
Map<String, String> allheader = new HashMap<>();
for (Header header : headerarray) {
allheader.put(header.getName(), header.getValue());
}
System.out.println(allheader);
}
}
}
Baseclass ->
public class BaseClass {
public Properties prop;
public BaseClass() {
try {
prop = new Properties();
FileInputStream ip = new FileInputStream("app/src/main/java/com/mypackage/config/config.properties");
prop.load(ip);
} catch (IOException e) {
e.printStackTrace();
}
}
}
Testclass ->
public class GetAPITest extends BaseClass {
BaseClass base;
String endpoint;
String apiurl;
String url;
Restclient restClient;
@BeforeMethod
public void setup() {
base = new BaseClass();
apiurl = prop.getProperty("url");
endpoint = prop.getProperty("endpoint");
url = apiurl + endpoint;
}
@Test
public void getAPITest() throws ParseException, IOException, URISyntaxException {
restClient = new Restclient();
restClient.get(url);
}
}
config.properties file ->
url = https://reqres.in/
endpoint = api/users?page=1