Subodh Joshi
Subodh Joshi

Reputation: 13552

Resteasy how to update/add query parameter?

In older version[3.0.7] of resteasy we are able to update the query Parameters

requestContext.getUriInfo().getQueryParameters()
                        .add("limit", recordLimit);

But after updating it with version[3.5.1], above code will throw error for UnmodifiableMultivaluedMap

Then tried to write this code

UriBuilder  uriBuilder = requestContext.getUriInfo().getRequestUriBuilder();
uriBuilder.queryParam("limit", recordLimit);

as well as below code

UriBuilder  uriBuilder = requestContext.getUriInfo().getRequestUriBuilder();
uriBuilder.matrixParam("limit", recordLimit);

Can someone please explain what will be the right way to update the query parameters ?

Edit 1: Even this wont work

UriBuilder  uriBuilder = requestContext.getUriInfo().getRequestUriBuilder();
uriBuilder.replaceQueryParam( "limit", recordLimit);

Upvotes: 1

Views: 503

Answers (1)

Subodh Joshi
Subodh Joshi

Reputation: 13552

At last i found the solution,in older version we are doing something like that to add query param on fly

requestContext.getUriInfo().getQueryParameters()
                        .add("limit", recordLimit);

but in 3.5.1 version its a MultiMap so above scenario wont allow so here is the new way to achieve this

UriBuilder  uriBuilder = requestContext.getUriInfo().getRequestUriBuilder() ;
uriBuilder.queryParam("limit", recordLimit);
requestContext.setRequestUri(uriBuilder.build());

Upvotes: 1

Related Questions