`我有一个这样的字段架构:
"StartDate":{ "type":"string", "format":"date-time" }
映射器如下:
"StartDate":{ "path": "policy.startDate.shortformat" }
Date.shortFormat 将给出值为“05/09/2024”,其类型为字符串。 但当尝试将日期字符串分配给架构中的字段时,我仍然收到 string:format=date-time is not a valid FormattedjsonType for class java.util.String 。
我尝试对架构进行更改,如下所示:
`"StartDate":{
"type":"string"
}`
`"StartDate":{
"type":"string",
"format":"date"
} `
但是它们都不起作用。
任何帮助将不胜感激。`
我了解您正在尝试使用特定的短日期格式,并且只对日期部分感兴趣。 Guidewire 自己的类型以及源自开放 API 规范的 Swagger 类型列在文档中(需要登录)。您可以简单地使用
date-time
作为其有效的 Swagger JSON 数据类型,而不是使用 date
。
schema.json
"StartDate":{
"type":"string",
"format":"date"
}
这会将日期格式设置为 2024-05-09,即“yyyy-MM-dd”。请注意,这是针对 RFC 3339 - 第 5.6 节中指定的日期的 OpenAPI 标准。
因此,虽然您可以使用 MM/dd/yyyy 或任何其他格式,但它不符合 Open API 和 RFC 规范,在这种情况下您绝对不应该将格式指定为
date
或 date-time
。您可以将类型设置为 string
并在 Rest Handler 类中自行进行格式化。这样您的 ShortFormat
属性就可以在处理程序中工作,并且您将保持符合 OpenApi 规范的日期。