0

我有以下网址:

http://10.11.100.163:1080/v1/publish/?category=conf&product=UFED_INFIELD&serial=123&productGUIDs%5B0%5D%5Bproduct%5D=GLOBAL&productGUIDs%5B0%5D%5Bguid%5D=undefinedblabla&productGUIDs%5B1%5D%5Bproduct%5D =UFED_INFIELD&productGUIDs%5B1%5D%5Bguid%5D=undefinedblabla

如您所见,有几个参数由两个名称组成,例如“productGUIDs%5B0%5D%5Bproduct%5D=GLOBAL”,这等于“productGUIDs[0][product]=GLOBAL”

现在在模拟服务器上的期望文件中,我正在尝试创建请求,但直到现在都没有成功。

这是我在期望文件中写的:

await mockServerClient(process.env.mockServerAddress , process.env.mockServerPort).setDefaultHeaders(defaultResponseHeaders, []).mockAnyResponse({
  "httpRequest":{
      "method": "GET",
      "path": "/v1/publish",

      "queryStringParameters": {
        "category":["conf"],
        "product":["UFED_INFIELD"],
        "serial":["123"],
        "productGUIDs%5B0%5D%5Bproduct%5D" : ["GLOBAL"],
        "productGUIDs%5B0%5D%5Bguid%5D" : ["undefinedblabla"],
        "productGUIDs%5B1%5D%5Bproduct%5D" : ["UFED_INFIELD"],
        "productGUIDs%5B1%5D%5Bguid%5D" : ["undefinedblabla"],
  }
},

使用 POSTMAN 发送请求 (GET) 时,我得到 404,这意味着模拟服务器无法识别该请求。

任何关于如何在期望文件中编写查询字符串参数的建议都会得到真正的重视

4

1 回答 1

1

正确的queryStringParameters语法是带有name/values键的对象数组,如下所示:

"queryStringParameters": [
    {
        "name": "category",
        "values": ["conf"]
    },
    {
        "name": "product",
        "values": ["UFED_INFIELD"]
    },
    {
        "name": "productGUIDs%5B0%5D%5Bproduct%5D",
        "values": ["GLOBAL"]
    }
]
于 2020-10-06T20:33:13.727 回答