OpenAPITools / OpenAPITools/openapi-diff
Comparing OpenAPI 3.0.1 to 3.1.0 does not work
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Java
- Estrellas
- 1.1k
- Forks
- 190
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
When running a comparison between OpenAPI 3.0.1 and 3.1.0 via Docker, it looks like everything is reported as different.
Suppressing the details gives this:
$ docker run --rm -t -v .:/specs:ro openapitools/openapi-diff /specs/api-docs-301.json /specs/api-docs-310.json --state
incompatible
ℹ Please note that those spec files are identical, only the initial OpenAPI version differs:
"openapi": "3.0.1""openapi": "3.1.0"
Comparing two specs with OpenAPI 3.1.0 seems to work as desired. ✅
I used latest which appears to be 6 weeks old - cannot get the version from the tool itself 🤷
Running the same via openapi-diff installed from brew shows a different error:
$ openapi-diff api-docs-301.json api-docs-310.json
Unexpected exception. Reason: Cannot read new OpenAPI spec
java.lang.RuntimeException: Cannot read new OpenAPI spec
at org.openapitools.openapidiff.core.OpenApiCompare.notNull(OpenApiCompare.java:107)
at org.openapitools.openapidiff.core.OpenApiCompare.fromSpecifications(OpenApiCompare.java:102)
at org.openapitools.openapidiff.core.OpenApiCompare.fromLocations(OpenApiCompare.java:91)
at org.openapitools.openapidiff.cli.Main.main(Main.java:174)
But this also does not work with two OpenAPI 3.1.0 specs:
$ openapi-diff api-docs-310.json api-docs-310.json
Unexpected exception. Reason: Cannot read old OpenAPI spec
java.lang.RuntimeException: Cannot read old OpenAPI spec
Brew shows this to be version 2.0.1 - cannot get the version from the tool itself.
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza con el punto de entrada de CLI en Main.java y la ruta de carga de especificaciones en OpenApiCompare.java, especialmente con las llamadas mostradas en los stack traces. Reproduce los comandos de Docker y brew con documentos idénticos de las versiones 3.0.1 y 3.1.0, y compara su comportamiento. La tarea estará terminada cuando las comparaciones válidas funcionen entre estas versiones sin informar de que los documentos idénticos son incompatibles ni fallar al leerlos.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- docker, java, openapi
- Área
- api, backend-api-design
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100