首页 > 解决方案 > 如何将扩展值写入 SpringFox 生成的 Swagger 中的未命名属性?

问题描述

我在代码中添加了一个使用ApiInfo类中的extensions方法命名的供应商扩展:x-my-test

new ApiInfoBuilder()
        ...
        .extensions(List.of(
         new ListVendorExtension<>("x-my-test", List.of("myvalue"))
         )).build();

生成的yaml 文件在属性扩展中显示此值,如下所示:

  ...     
  version: 1;2021-02-01
  extensions:
    x-my-test:
      - myvalue
  ...

我注意到,如果我将此yaml 文件加载到Swagger 编辑器中,那么由于extensions属性,我会看到一个错误:

Structural error at info
should NOT have additional properties
additionalProperty: extensions

是否可以在扩展属性之外写入x-my-test值?

并有这样的输出:

  ...     
  version: 1;2021-02-01
  x-my-test:
    - myvalue
  ...

此输出符合 swagger 规范,并在 swagger 编辑器中成功加载。

标签: springswaggeropenapispringfoxswagger-3.0

解决方案


推荐阅读