How to Implement GET and POST Requests With Java [Snippet]
Want to learn more about implementing GET and POST requests in Java? Check out this code to learn how to use the GET and POST endpoints.
Join the DZone community and get the full member experience.
Join For FreeWe 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\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum 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 = "{\n" + "\"userId\": 101,\r\n" +
" \"id\": 101,\r\n" +
" \"title\": \"Test Title\",\r\n" +
" \"body\": \"Test Body\"" + "\n}";
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!!
Opinions expressed by DZone contributors are their own.
Comments