gpt4 book ai didi

json - 在 WireMock 中请求正文匹配(不是 JSON/XML)

转载 作者:行者123 更新时间:2023-12-03 23:57:36 28 4
gpt4 key购买 nike

我正在尝试使用独立的wiremock 创建 API 模拟。响应正文取决于请求正文中的属性。

使用 JSON,我能够做到。这是示例映射:

{
"request":{
"method":"POST",
"bodyPatterns":[
{
"matchesJsonPath":"$.somekey.subkey[?(@.attribute == 'VALUE_123')]"
}
]
},
"response":{
"status":200,
"bodyFileName":"res.dat",
"headers":{
"Content-Type":"application/x-proto;charset=UTF-8"
}
}
}

但是,我的主要要求是处理 google protobuf,我正在尝试使用文本格式来代替 mock 者将用来模拟 API 以进行响应的文本格式。因此,请求文件是文本格式,并且没有任何 JSON 验证,如双引号或每行末尾的逗号等。

我发现使用 JSON 路径,wiremock 由于格式不正确而无法匹配请求正文。
例如,这样的请求:
{
animal {
type {
key1: "value"
key2: value2
}
}
}

代替
{  
"animal":{
"type":{
"key1":"value",
"key2":"value2"
}
}
}

让我们说 key1 = value1应该匹配和 response1.json应该返回,或者当 key1 = someOtherValue ,然后 response2.json应该被退回。
是的,键是类型的一部分,类型是动物的一部分。我怎样才能实现这个请求正文匹配?

最佳答案

你可以这样做:

{
"request": {
"method": "POST",
"url": "/authorize/oauth2/token",
"bodyPatterns": [ {
"matches": ".username=(test)&."
}
]
},
"response": {
"status": 200,
. . .

还有 https://github.com/tomakehurst/wiremock/issues/575

关于json - 在 WireMock 中请求正文匹配(不是 JSON/XML),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41279540/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com