Java Wiremock日期格式
我想使用wiremock以2019-03-28815:30:59+12:00的格式生成日期 我试过:Java Wiremock日期格式,java,wiremock,handlebars.java,Java,Wiremock,Handlebars.java,我想使用wiremock以2019-03-28815:30:59+12:00的格式生成日期 我试过: "currentDateTime": "{{now timezone='Australia/Sydney' format='yyyy-MM-dd'T'HH:mm:ssZ'}}" 但是,我有一个例外: wiremock.com.github.jknack.handlebar.handlebar异常:内联: 发现:yyyy-MM-dd'T'HH:MM:ssZ,应为:'目前没有可行的替代方案 输入y
"currentDateTime": "{{now timezone='Australia/Sydney' format='yyyy-MM-dd'T'HH:mm:ssZ'}}"
但是,我有一个例外:
wiremock.com.github.jknack.handlebar.handlebar异常:内联:
发现:yyyy-MM-dd'T'HH:MM:ssZ,应为:'目前没有可行的替代方案
输入yyyy-MM-dd'T'HH:MM:ssZ'
我也尝试过转义T的两个引号,但它不起作用
我做错了什么?它看起来像wiremock车把bug:。我尝试了一下,发现了更简单的解决方法: 第一个声明变量 {{assign'myformat'}yyyy-MM-dd'HH:MM:ss{{\/assign} 然后在存根/模拟中使用它
{{now format=escape}尝试使用以下代码块。对我来说工作很好,也许是最好的方式。
format='yyyy-MM-dd'T'HH:MM:ss.SSSXXX'如果将来有人看到这篇文章,我使用的最简单但有黑客攻击性的解决方案是将“T”前后的部分分别格式化,如下所示:
"currentDateTime": "{{now timezone='Australia/Sydney' format='yyyy-MM-dd'}}T{{now timezone='Australia/Sydney' format='HH:mm:ssZ'}}"
如果需要在ISO 8601格式中包含日期,可以省略格式选项: 它将产生以下结果:2021-06-09T05:45:53+10:00。如果省略时区,只使用{now},它将生成UTC:2021-06-08T19:48:27Z的日期
作为参考,您可以检查wiremock中的类由于中间带引号的T:format='yyyy-MM-dd'T'HH:MM:ssZ',格式字符串中的引号不平衡。我想你一定要设法摆脱它。@RajKishan你是如何解决这个问题的?@ShahbazAhmad我没有找到直接的解决办法。所以我改用了黑客。我所做的是,放置一个占位符来代替日期,比如currentDateTime:currentTimePlaceholder。然后在自定义transformer extend ResponseTransformer中,将该字符串替换为所需的值,这很容易做到。欢迎使用StackOverflow:!如何在wiremock json文档中声明handlebar变量?请在代码中添加简短的描述和解释,而不仅仅是发布代码片段。谢谢
"body": "{\"datetime\": \"{{now format='yyyy-MM-dd\\'T\\'HH:mm:ss'}}\"}"
{{now timezone='Australia/Sydney'}}