我要从YAML编写的合同文件中获取WireMock存根的JSON文件。
但是当Spring Cloud Contract Gradle插件包含unicode字符串(例如“日本”)时,它无法正确转换合同文件。
(我通过执行Gradle插件的“ generateClientStubs”任务来生成存根。)
具体来说,我制作了以下合同yaml文件。
name: get-all-users
request:
url: /users
method: GET
response:
status: 200
headers:
content-type: application/json; charset=UTF-8
body:
-
id: 001
name: alice
country: US
-
id: 002
name: bob
country: 日本
在完成generateClientStubs任务后,我得到了以下JSON文件。
{
"id" : "b776c7d1-fd6d-454a-be92-ef02b8eec793",
"request" : {
"url" : "/users",
"method" : "GET"
},
"response" : {
"status" : 200,
"body" : "[{\"id\":1,\"name\":\"alice\",\"country\":\"US\"},{\"id\":2,\"name\":\"bob\",\"country\":\"\\u65e5\\u672c\"}]",
"headers" : {
"content-type" : "application/json; charset=UTF-8"
},
"transformers" : [ "response-template" ]
},
"uuid" : "b776c7d1-fd6d-454a-be92-ef02b8eec793"
}
如您所见,响应正文的unicode字符串(尤其是“ country \”:\“ \ u65e5 \ u672c \”部分)未正确转换。 我想要的如下:
"body" : "[{\"id\":1,\"name\":\"alice\",\"country\":\"US\"},{\"id\":2,\"name\":\"bob\",\"country\":\"日本"}]"
我必须使用这样的日语字符串(因为我是日语...)。
我该怎么解决?
感谢您阅读。