当前位置: 首页 > 知识库问答 >
问题:

无法找到与密钥匹配的模型

汲品
2023-03-14

根据以下步骤将Swagger从2.9.2升级到3.0.0:

html" target="_blank">https://springfox.github.io/springfox/docs/snapshot/#migrating-from-existing-2-x-版本

在新版本中,虽然功能工作正常,但点击“/swagger-用户界面/index.html”时,以下错误会打印在日志中。

使用springfox-boot-starter 3.0.0。将感谢您的输入。

[ReferenceModelSpecificationPropertyConverter]找不到与键ModelKey{qualifiedModelName=ModelName{namespace='java.time',name='LocalDate},viewDiscriminator=null,validationGroupDiscriminators=[],isResponse=true}匹配的模型

共有2个答案

申自明
2023-03-14

不确定这是否是您的情况,但对我来说,出现了这个问题,因为我有一个JsonSubTyped泛型继承,其中一个子元素有一个列表

myDocket.alternateTypeRules(
                        AlternateTypeRules.newRule(typeResolver.resolve(List.class, LocalDate.class), typeResolver.resolve(List.class, java.sql.Date.class)), 
                        AlternateTypeRules.newRule(typeResolver.resolve(List.class, LocalDateTime.class), typeResolver.resolve(List.class, java.util.Date.class)))

替换类来自官方网站。

慕翰学
2023-03-14

根据Springfox文档

http://springfox.github.io/springfox/docs/current/#answers-常见问题和问题

正确将“Date”和“DateTime”类型映射到它们相应的昂首阔步类型的方法

将"Date"类型(java.util.LocalDate,org.joda.time.LocalDate)替换为java.sql.Date。

替换“DateTime”类型(java.util.ZonedDateTime、org.joda.time.LocalDateTime…​) 通过java。util。日期

 docket
    .directModelSubstitute(LocalDate.class, java.sql.Date.class)
    .directModelSubstitute(LocalDateTime.class, java.util.Date.class)

Docket bean的示例

@Bean
public Docket api()
{

    Docket docket = new Docket(DocumentationType.SWAGGER_2) //
            .select() //
            .apis(RequestHandlerSelectors.basePackage("com.test")) //
            .paths(PathSelectors.regex("/api/.*")).build() //
            .apiInfo(apiInfo()) //
            .pathMapping("/") //
            .forCodeGeneration(true) //
            .genericModelSubstitutes(ResponseEntity.class) //
            .directModelSubstitute(LocalDate.class, java.sql.Date.class)
            .directModelSubstitute(LocalDateTime.class, java.util.Date.class)
            .useDefaultResponseMessages(false);

    return docket;
}
 类似资料:
  • 在TransitionKey类中:

  • 我正在尝试在我的web主机上创建git存储库,并在我的计算机上克隆它。以下是我所做的: 我在远程服务器上创建了一个存储库 然后,在尝试运行命令git clone之后ssh://user@存储库的主机/路径,我收到一个错误: 无法与XX协商。XXX。XX。二十: 未找到匹配的主机密钥类型。他们的提议:ssh dss致命:无法从远程存储库读取<请确保您拥有正确的访问权限,并且存储库存在。 那是什么意思

  • 希!我试图将facebook sdk与我的android应用程序集成起来。我使用以下命令获得我的密钥: keytool-exportcert-alias androiddebugkey-keystore“C:\documents and settings\administrator.android\debug.keystore”“C:\openssl\bin\openssl”sha1-binary

  • 我在经营一个Kafka制作人。我已经在yml文件中配置了密钥库位置,并在eclipse中运行时获取了它。但是当代码作为jar运行时,它无法找到密钥库位置。如何解决这个问题。 这是我的yml档案。 我得到以下错误: JAVA木卫一。FileNotFoundException:类路径资源[es-cert.jks]无法解析为绝对文件路径,因为它不位于文件系统:jar:file:/u01/home/app

  • 我是Docker的新手。我使用ASP创建了一个Web API。Net内核使用Visual Studio 2019以及VS代码。它很好用。然后我添加了docker支持,并添加了带有默认值的Dockerfile。 当我尝试构建docker映像时,它在Visual Studio 2019和VS代码中都失败了。 但是,如果我尝试使用VisualStudio2019提供的选项运行Docker映像(我可以在其

  • null 我正在CentOS Linux版本7.3.1611的虚拟环境中使用Python2.7。 我正在运行一个使用matplotlib.pyplot的脚本,运行时会出现以下错误 我试着用- 然后我甚至安装了- 并且它表示包已经安装并且 我已经重新设置了我的虚拟环境,看看我是否错过了什么,但我无法到达任何地方。请救命!