簡體   English   中英

如何指定可選的查詢參數

[英]How can I specify optional Query Parameters

我在合同中定義了查詢參數。 我需要這個參數是可選的:

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-Z\\d\\_\\-)+\\=(a-zA-Z\\d\\_\\-)+)(\\&(a-zA-Z\\d\\_\\-)+\\=(a-zA-Z\\d\\_\\-)+)+)?"
    },
    "response": {
        "status": 200,
            "bodyFileName": "users.json",
            "headers": {
            "Content-Type": "application/json"
        }
    }
}

觀察URL末尾的可選部分,該部分查找典型的URL查詢結構。 這個,我已經嘗試過在線索中運行順利。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM