Skip to main content

Handle HTTP Query Parameters in Get Request using REST Assured

Query parameters are a defined set of parameters attached to the end of a url. They are extensions of the URL that are used to help define specific content or actions based on the data being passed. To append query params to the end of a URL, a ‘?’ Is added followed immediately by a query parameter.

To add multiple parameters, an ‘&’ is added in between each. These can be created by any variation of object types or lengths such as String, Arrays and Numbers. The following is an example:



import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
import io.restassured.RestAssured;
import static io.restassured.RestAssured.given;

public class DummyAPI 
	public void setup() 
		RestAssured.baseURI = "";		
		RestAssured.basePath = "/api/";
	public void statusCodeVerification() 
			.queryParam("page", "2")


RestAssured: REST Assured is a Java DSL for simplifying testing of REST based services built on top of HTTP Builder. It supports POST, GET, PUT, DELETE, HEAD, PATCH and OPTIONS requests and to verify the response of these requests. 

baseURI: The base URI that's used by REST assured when making requests if a non-fully qualified URI is used in the request. Default value is http://localhost.

basePATH: A base path that's added to the baseURI by REST assured when making requests. E.g. let's say that the baseURI is http://localhost and basePath is /resource.

given(): Start building the request part of the test io.restassured.specification. 

.param() or queryParam(): If you don't specify which, REST Assured will assume GET params are query params and POST params are form params

.when(): Where we specify type of request like get, post etc. Like for get we have used .get()

.then(): Returns a validatable response that's lets you validate the response. 

if you have multiple param you can use multiple .queryParam().

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.


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.