Using a reference in items of array results in error
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 20/100
Direção de pesquisa
Comece com o example.zip anexado e reproduza o comando CLI; depois leia RefPointer.java, especialmente getRefName e resolveRef, junto com o caminho de chamadas de SchemaDiff e DeferredSchemaCache nomeado no trace. Está concluído quando o $ref para o arquivo irmão do item do array é resolvido sem a exceção Invalid ref e a comparação é concluída.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
When a reference is used in items: of an array, e.g. :
type: object
description: Model for response from call to GET products requiring an array of products to be returned.
title: GetProductResponse
properties:
Products:
type: array
items:
$ref: Product.yaml
and error is thrown while resolving the references:
$ java -jar openapi-diff-cli-2.1.0-beta.4-all.jar --error --fail-on-incompatible source/specification/openapi.yaml destination/specification/openapi.yaml
Unexpected exception. Reason: Invalid ref: ./common/models/Product.yaml
java.lang.IllegalArgumentException: Invalid ref: ./common/models/Product.yaml
at org.openapitools.openapidiff.core.utils.RefPointer.getRefName(RefPointer.java:60)
at org.openapitools.openapidiff.core.utils.RefPointer.resolveRef(RefPointer.java:16)
at org.openapitools.openapidiff.core.compare.SchemaDiff.computeDiffForReal(SchemaDiff.java:337)
at org.openapitools.openapidiff.core.model.deferred.DeferredSchemaCache.processSchemaQueue(DeferredSchemaCache.java:86)
at org.openapitools.openapidiff.core.model.deferred.DeferredSchemaCache.process(DeferredSchemaCache.java:64)
at org.openapitools.openapidiff.core.compare.OpenApiDiff.compare(OpenApiDiff.java:100)
at org.openapitools.openapidiff.core.compare.OpenApiDiff.compare(OpenApiDiff.java:64)
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:175)
Files GetProductResponse.yaml and Product.yaml both reside in the same directory.
Attachment contains the source and destination folders, which contain a copy of the same openapi spec.
example.zip
- Linguagem predominante
- Java
- Estrelas
- 1.1k
- Forks
- 190
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de OpenAPITools/openapi-diff
-
enhancement
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
OpenAPITools/openapi-diff#506 ·
-
good first issue help wanted
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
OpenAPITools/openapi-diff#364 ·
-
bug OpenAP 3.1.0 Support
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 68/100
OpenAPITools/openapi-diff#910 · 1 comentário ·
-
Render capabilities
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 55/100
OpenAPITools/openapi-diff#893 · 1 comentário ·
-
Breaking/Non-Breaking classification
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 55/100
OpenAPITools/openapi-diff#886 ·
Todas as issues de OpenAPITools/openapi-diff
Issues semelhantes
-
executions.Query — startDate and timeRange filters are sent with inverted comparison operators Abertaarea/plugin
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
kestra-io/plugin-kestra#190 ·
-
litertlm-android AAR ships no consumer ProGuard rules → "mid == null" SIGABRT in minified apps Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
google-ai-edge/LiteRT-LM#3739 ·
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
integra-team-red/meet-map#249 ·
-
[Studio][Bug] Cancelled create-user dialog keeps the password and admin switch for the next attempt Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
apache/rocketmq-dashboard#5064 ·