我正在尝试自定义OpenAPI规范字符串格式之间的映射时间日期约会时间至偏移时间本地日期立即的分别。我当前使用的是自己的自定义服务器生成器,该生成器扩展了JavaJerseyServerCodegen,因此我进行了更改,一切正常@Overridepublic void processOpts(){ super.processOpts(); typeMapping.put("DateTime", "Instant"); typeMapping.put("date", "LocalDate"); importMapping.put("Instant", "java.time.Instant"); importMapping.put("LocalDate", "java.time.LocalDate"); ...问题是时间格式,因为默认情况下,代码生成没有定义此格式,因此我可以“覆盖”它。有可能做我想做的吗?如果可以,怎么办?
1 回答
ITMISS
TA贡献1871条经验 获得超8个赞
经过大量的头部撞击之后,我尝试了一种KISS方法,并获得了以下解决方案:
@Override
public String getSwaggerType(final Property property)
{
if ((property instanceof StringProperty) && ("time".equals(property.getFormat())))
{
return "OffsetTime";
}
else
{
return super.getSwaggerType(property);
}
}
现在我可以简单地执行以下操作
@Override
public void processOpts()
{
super.processOpts();
typeMapping.put("DateTime", "Instant");
typeMapping.put("date", "LocalDate");
typeMapping.put("time", "OffsetTime");
importMapping.put("Instant", "java.time.Instant");
importMapping.put("LocalDate", "java.time.LocalDate");
importMapping.put("OffsetTime", "java.time.OffsetTime");
...
添加回答
举报
0/150
提交
取消