我有一个Wiremock服务器的独立实例。映射作为json文件存储在mappings文件夹下。我有一个POST请求,需要在响应中返回一个动态ID(整数)。有没有办法在json文件中进行配置?
这似乎是OpenTable Wiremock Body Transformer的完美用例。
它可以很容易地与独立服务器集成,如下所示:
java-cp“wiremock-body-transformer-1.1.6.jar:wiremock-2.3.1-standalone.jar”com.github.托马克赫斯特。wiremock。独立的。WireMockServerRunner——详细——扩展com。打开桌子。扩大车身变压器
并允许您轻松指定要在响应中匹配的动态变量。
这是一个无需在请求中指定任何内容即可获得随机整数的示例,但是如果您需要将请求中的特定变量与响应匹配,那么使用此扩展也非常可行,并且可以在自述文件中找到许多示例。
{
"request": {
"method": "POST",
"urlPath": "/transform",
},
"response": {
"status": 200,
"body": "{\"randomInteger\": \"$(!RandomInteger)\"}",
"headers": {
"Content-Type": "application/json"
},
"transformers": ["body-transformer"]
}
}
在WireMock中,有许多用于生成随机字符串的响应模板助手函数。在下面的示例中,我使用用于生成UUID的函数,但还有其他几个选项。
映射文件:dynamic_id.json
{
"request": {
"method": "POST",
"url": "/dynamic_id"
},
"response": {
"headers": {
"Content-Type": "application/json"
},
"status": 200,
"body": "{{randomValue type='UUID'}}",
"transformers": ["response-template"]
}
}
使用空帖子http://wiremock/dynamic_id将返回类似于以下内容的id:c2e6bf32-c9a3-45c0-b988-94fad04cc7a2
。
启动WireMock:
java -jar wiremock-standalone-2.18.0.jar --port 8181 --verbose --local-response-templating
为了让上述示例正常工作,我必须使用--全局响应模板
运行独立jar。然后我看到,例如,{{now}
正在工作,这正是我想要的。不确定文档是否指定了这一点——我尝试了“总是有用的”帮助。
我正在努力使用swagger的语法来描述响应类型。我试图建模的是一个带有动态键和值的哈希映射。这是允许本地化所必需的。语言可能不同,但应始终提供英语。 在JSON中,响应如下所示: 我的第一次尝试是这样的,但我不知道如何为这个名字写部分。AdditionalProperties似乎是一把钥匙,但我无法把头缠在它身上。另外,对英语文本的要求对我来说是一个谜,在这个语法中,这个例子似乎也不像预期的那样
所有人。我是Angular 2和Spring框架的新手。我正在尝试一个带有授权头(基本身份验证)的简单get请求。 我使用的是Spring Boot(1.2.6.Release),这也可能是相关的。我的CORS配置如下所示。 帮帮我,我不知道我错过了什么...我已经查了很多帖子,但都没找到。
我想知道是否有什么方法可以使属性值动态。类似于这样: 感谢您的反馈。在我的例子中,属性值是系统特定的,应该在测试运行时生成。
问题内容: 大家。我是Angular 2和Spring框架的新手。我正在尝试使用授权标头(基本auth)进行简单的get请求。 我正在使用Spring Boot(1.2.6.RELEASE),这也可能是相关的。我的CORS配置如下所示。 这是客户端的外观 我不断得到: XMLHttpRequest无法加载 http:// localhost:8080 / api / login?username
我正在尝试使用Ajax进行REST调用(POST)。这是我的AJAX代码 最初,我得到了这个错误:XMLHttpRequest无法加载http://localhost:port/service/myservice。对preflight请求的响应未通过访问控制检查:请求的资源上没有“access-control-allow-origin”标头。因此不允许访问源“null”。响应的HTTP状态代码为4
我使用作为服务器端的Spring-boot并提供一个虚拟服务进行测试 其中我的serviceCaller.java=