如何使用 io.swagger.core.v3:swagger-jaxrs2 始终生成具有相同元素顺序的 yaml?

问题描述 投票:0回答:1

我需要为我的应用程序生成

yaml
文件,但我需要 每次生成它时都相同,以便将当前生成的
yaml
与我的 API 的当前状态进行比较。

但是我很难确定这种比较。

有什么办法可以让我大摇大摆地:

  • 生成元素顺序相同的
    yaml
    文件?
  • 如果未对端点代码进行任何更改,
  • 生成相同
    yaml
    文件?

我知道 springdoc 有一些配置可以做到这一点,但我的项目不使用 spring。

注释

  • 我正在使用
    io.swagger.core.v3:swagger-jaxrs2:2.0.1
java gradle swagger jax-rs openapi
1个回答
0
投票

替代解决方案 - 在比较 OpenAPI YAML 文件之前对它们进行排序。例如,您可以使用

yq
对 YAML 文件进行排序

# *nix/macOS

cat old.yaml | yq -P 'sort_keys(..)' > old-sorted.yaml
cat new.yaml | yq -P 'sort_keys(..)' > new-sorted.yaml

diff old-sorted.yaml new-sorted.yaml
© www.soinside.com 2019 - 2024. All rights reserved.