I have a URL (GET REQUEST) of the following pattern
- ^/testpath/1/test?pathid=1
- ^/testpath/1/test?pathid=1,2
- ^/testpath/1/test?pathid=1,2,5
where pathid query string parameters are comma separated
I have the following stubby mappings to match these url patterns
- request:
url: ^/testpath/(.*)/test
query:
pathid: '1'
method: GET
response:
headers:
Content-Type: application/json
status: 200
file: response/path-1.json
- request:
url: ^/testpath/(.*)/test
query:
pathid: '1,2'
method: GET
response:
headers:
Content-Type: application/json
status: 200
file: response/path-2.json
- request:
url: ^/testpath/(.*)/test
query:
pathid: '1,2,5'
method: GET
response:
headers:
Content-Type: application/json
status: 200
file: response/path-3.json
but I can't get this URL mapping to properly deliver different payloads based on different parameter combinations.
- 1 -> payload1
- 1,2 -> payload2
- 1,2,5 -> payload3
how can this be done?
The trick here is to change the order of request/response mappings in the yaml file.
note the path ids added in the descending order, so that more deeper matches will be executed first.
This way I was able to achieve this following requirement, of passing different path ids separated by a comma