We can call the GET or POST requests using a simple Java program. I have used "https://jsonplaceholder.typicode.com" to make GET and POST calls. This website provides simple get/post/put/delete endpoints. For demonstration purposes, I am only using GET and POST endpoints.

We will write a main method as below :

public static void main(String[] args) throws IOException { GetAndPost.MyGETRequest(); GetAndPost.MyPOSTRequest(); }





For a GET request, we can use https://jsonplaceholder.typicode.com/posts/1, which is shown below:

public static void MyGETRequest() throws IOException { URL urlForGetRequest = new URL("https://jsonplaceholder.typicode.com/posts/1"); String readLine = null; HttpURLConnection conection = (HttpURLConnection) urlForGetRequest.openConnection(); conection.setRequestMethod("GET"); conection.setRequestProperty("userId", "a1bcdef"); // set userId its a sample here int responseCode = conection.getResponseCode(); if (responseCode == HttpURLConnection.HTTP_OK) { BufferedReader in = new BufferedReader( new InputStreamReader(conection.getInputStream())); StringBuffer response = new StringBuffer(); while ((readLine = in .readLine()) != null) { response.append(readLine); } in .close(); // print result System.out.println("JSON String Result " + response.toString()); //GetAndPost.POSTRequest(response.toString()); } else { System.out.println("GET NOT WORKED"); } }





We will get the following output:

JSON String Result { "userId": 1, "id": 1, "title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit", "body": "quia et suscipit

suscipit recusandae consequuntur expedita et cum

reprehenderit molestiae ut ut quas totam

nostrum rerum est autem sunt rem eveniet architecto" }





For the post request, we will be using https://jsonplaceholder.typicode.com/posts, as shown below

public static void POSTRequest() throws IOException { final String POST_PARAMS = "{

" + "\"userId\": 101,\r

" + " \"id\": 101,\r

" + " \"title\": \"Test Title\",\r

" + " \"body\": \"Test Body\"" + "

}"; System.out.println(POST_PARAMS); URL obj = new URL("https://jsonplaceholder.typicode.com/posts"); HttpURLConnection postConnection = (HttpURLConnection) obj.openConnection(); postConnection.setRequestMethod("POST"); postConnection.setRequestProperty("userId", "a1bcdefgh"); postConnection.setRequestProperty("Content-Type", "application/json"); postConnection.setDoOutput(true); OutputStream os = postConnection.getOutputStream(); os.write(POST_PARAMS.getBytes()); os.flush(); os.close(); int responseCode = postConnection.getResponseCode(); System.out.println("POST Response Code : " + responseCode); System.out.println("POST Response Message : " + postConnection.getResponseMessage()); if (responseCode == HttpURLConnection.HTTP_CREATED) { //success BufferedReader in = new BufferedReader(new InputStreamReader( postConnection.getInputStream())); String inputLine; StringBuffer response = new StringBuffer(); while ((inputLine = in .readLine()) != null) { response.append(inputLine); } in .close(); // print result System.out.println(response.toString()); } else { System.out.println("POST NOT WORKED"); } }





Then, we will get the below output:

"userId": 101, "id": 101, "title": "Test Title", "body": "Test Body" } POST Response Code : 201 POST Response Message : Created { "userId": 101, "id": 101, "title": "Test Title", "body": "Test Body"}





I have used the below imports from java.net.* packages:

import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.ProtocolException; import java.net.URL;





We can also verify the same from the POSTMAN console :

1. For the GET request:

2. POST request:

Hope this helps. Happy Coding!!