[MGNLRESTCL-68] RestClient has ability to add query parameters Created: 10/Sep/19  Updated: 19/May/20  Resolved: 13/May/20

Status: Closed
Project: REST Client
Component/s: None
Affects Version/s: None
Fix Version/s: 2.0.1

Type: Story Priority: Neutral
Reporter: Christopher Zimmermann Assignee: Jaroslav Simak
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: 0d
Time Spent: 2.75d
Original Estimate: Not Specified

Issue Links:
Cloners
is cloned by MGNLRESTCL-155 Usage of RestClient has ability to cu... Open
Relates
relates to MGNLRESTUI-10 Filtering is ineffective in branches ... Closed
causality
caused by MGNLRESTCL-67 Improve isolation of params between d... Closed
is causing MGNLRESTCL-124 DOC: Call query parameters, body, hea... Closed
dependency
is depended upon by MGNLRESTUI-29 Support sorting strategies Accepted
supersession
supersedes MGNLRESTCL-51 More dynamic usage of REST Client  Closed
Template:
Acceptance criteria:
Empty
Task DoD:
[ ]* Doc/release notes changes? Comment present?
[ ]* Downstream builds green?
[ ]* Solution information and context easily available?
[ ]* Tests
[ ]* FixVersion filled and not yet released
[ ]  Architecture Decision Record (ADR)
Release notes required:
Yes
Documentation update required:
Yes
Epic Link: Declarative REST clients
Sprint: HL & LD 2
Story Points: 5

 Description   

It must be possible to configure a RestClient in such a way that the caller can add query parameters (the API allows that already for additional values).

User story

As a developer using a configured RestClient I want to be able to provide completely custom fragments, parameters, headers and cookies, so that I can hit the RestEndpoint in ways that the RestClient configurer could not predict, so I can use RestClients effectively and without too much hassel

Rationale

Some API's are very flexible and it would be difficult or impossible to configure all of the available options. It is a common usecase that a developer will configure a RestClient mostly to capture the basic connection information, but wants to leave it open to usages (such as freemarker templates) to use the RestClient as they see fit.

Example

Contentful Delivery API has very many query parameters. It would be a pain to configure them all:

https://www.contentful.com/developers/docs/references/content-delivery-api/#/reference/search-parameters

Further, there are dynamic parameters, so whoever configures the restClient might not know all parametes ahead of time. (You can actually use one of your contentTypes attributes as a parameter.
https://www.contentful.com/developers/docs/references/content-delivery-api/#/reference/search-parameters/ranges/query-entries/console/curl)

Details

Usage can provide additional values, but cannot change any values "hardcoded" in the RestClient definition.

For example, if you have two query params configured on your restCall as:
queryParams:
 category: destinations
 pageSize: ${pageSize}
I expect you can pass a different pageSize, and add new query parameters, but not override the category

To be determined:

Is a RestClient modifiable in this way by default, or what has to be configured in order to make it modifiable?


Generated at Mon Feb 12 10:42:54 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.