Skip to main content

Patch request using REST Assured

The HTTP methods PATCH can be used to update partial resources. For instance, when you only need to update one field of the resource, PUTting a complete resource representation might be cumbersome and utilizes more bandwidth.

Also, the PUT method is idempotent. PUTting the same data multiple times to the same resource, should not result in different resources, while POSTing to the same resource can result in the creation of multiple resources.

A PATCH is not necessarily idempotent, although it can be. Contrast this with PUT; which is always idempotent. The word "idempotent" means that any number of repeated, identical requests will leave the resource in the same state. For example if an auto-incrementing counter field is an integral part of the resource, then a PUT will naturally overwrite it (since it overwrites everything), but not necessarily so for PATCH.

When a client needs to replace an existing Resource entirely, they can use PUT. When they're doing a partial update, they can use HTTP PATCH.

public class ReqRes 
{
	public static String id = "2";

	@BeforeClass
	public void setup()
	{
	    RestAssured.baseURI = "https://reqres.in/";
        RestAssured.basePath = "api";
	}

	/*Patch request example*/
	@Test(enabled=true)
	public void patchExample()
	{
		Response res = 
				given()
					.header("Content-Type","application/json")
					.body("{\n" + 
							"    \"name\": \"Tarun Goswami1\",\n" + 
							"    \"job\": \"QA\"\n" + 
							"}")
				.when()	
					.patch("/users/2")
				.then()
					.statusCode(200)
					.extract().response();
		
		System.out.println(res.body().prettyPrint());				
	}
}

Submitted by tgoswami on September 1, 2020

Tarun has 11+ years of experience in Quality Assurance in different domains like Banking, E-commerce, Health and Education.

About

At ProgramsBuzz, you can learn, share and grow with millions of techie around the world from different domain like Data Science, Software Development, QA and Digital Marketing. You can ask doubt and get the answer for your queries from our experts.