Wiremock not matching regex

2019-08-09 05:48发布

问题:

I'm using wiremock to mock certain requests and their respective response, but I'm trying to add a regex. Unfortunately, this just throws an exception stating that the request was not matched.

{
  "request" : {
     "method": "GET",
     "urlPattern": "/my/service/url?^.*(specificParam.*(M[0-9]{9})).*$"
   },
 "response": {
   ...
   }
}

I also tried it with

"urlPattern": "/my/service/url\\?^.*(specificParam.*(M[0-9]{9})).*$"

The request I'm sending is /my/service/url?saml2=disabled&filter=specificParam%20eq%20%27M012345678%27

Does anyone have an idea why the request is not being matched to the mapping? Thanks in advance.

回答1:

Did you try this :

{
  "request" : {
     "method": "GET",
     "urlPattern": "^\/my\/service\/url\\?.*(specificParam.*(M[0-9]{9})).*$"
   },
   "response": {
   ...
   }
}

See this regex here : https://regex101.com/r/B3XACf/1