我使用
org.springdoc:springdoc-openapi-starter-webmvc-ui
分别从我的控制器生成 openapi 规范和 swagger-ui。
我没有使用
org.openapi.generator
生成不符合规范的类,因为使用 Spring Boot 和 Kotlin 并不 100% 支持它。
我仍然想做或使用的是
openApiValidate
任务来验证我生成的 OpenApi 规范并确保我的端点符合标准。但要使用该任务,您必须指定文件的路径,该文件是在运行时在 springdoc-openapi-starter-webmvc-ui
中创建的。
还有其他方法来验证创建的规范吗?
我的另一个想法是将此验证步骤作为 GitLab 作业进行检查。
为了使用 GitLab 验证您的规范,您可以执行 CI/CD 工作。
您必须先编写一个脚本来进行 OpenAPI 规范验证(例如
validate_openapi_spec.py
),然后向 gitlab 添加 .gitlab-ci.yml
,如下所示:
stages:
- build
- validate
# generation of spec and save it as artifact
generate_openapi_spec:
stage: build
script:
- ./gradlew generateOpenApiSpecValidation
artifacts:
paths:
- ../../spec.yaml
# execution of validation script (validate_openapi_spec.py)
validate_openapi_spec:
stage: validate
script:
- ./validate_openapi_spec.py ../../spec.yaml