加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 如何指定可选的查询参数

发布时间:2020-12-15 02:20:04 所属栏目:Java 来源:网络整理
导读:我在合同中定义了查询参数.我需要这个参数是可选的: method 'GET' url($(regex(urlRegex))) { queryParameters { parameter 'fitler': $(stub(regex(filterRegex))) }} 我希望这个合约适用于带有像/ my / sample / url?fitler = some-filter-expression这
我在合同中定义了查询参数.我需要这个参数是可选的:

method 'GET'
    url($(regex(urlRegex))) {
        queryParameters {
            parameter 'fitler': $(stub(regex(filterRegex)))
        }
}

我希望这个合约适用于带有像/ my / sample / url?fitler = some-filter-expression这样的过滤器的两个URL,而不需要像/ my / sample / url这样的过滤器参数.

我怎样才能做到这一点?这甚至可能吗?

解决方法

到目前为止,这在WireMock规范中没有明确的定义方式.但是,您可以使用正则表达式进行解决方法,方法是使用urlPathPattern属性指定URL(在JSON存根中).请参阅下面的示例.

{
    "request": {
        "method": "GET","urlPathPattern": "/myapp/users(?((a-zA-Zd_-)+=(a-zA-Zd_-)+)(&(a-zA-Zd_-)+=(a-zA-Zd_-)+)+)?"
    },"response": {
        "status": 200,"bodyFileName": "users.json","headers": {
            "Content-Type": "application/json"
        }
    }
}

观察URL末尾的可选部分,该部分查找典型的URL查询结构.这个,我已经尝试过在线索中运行顺利.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读