Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

How to Implement GET and POST Requests With Java [Snippet]

DZone's Guide to

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.

· Java Zone ·
Free Resource

Get the Edge with a Professional Java IDE. 30-day free trial.

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\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: 

GET

2. POST request: 

Image title

Hope this helps. Happy Coding!!

Get the Java IDE that understands code & makes developing enjoyable. Level up your code with IntelliJ IDEA. Download the free trial.

Topics:
webservice testing ,restful api ,restful api testing ,java ,get ,post ,endpoints

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}