[0.12.3] Fix crash in logging when property named "$ref"#410
Merged
mikeharder merged 7 commits intomainfrom Oct 13, 2025
Merged
[0.12.3] Fix crash in logging when property named "$ref"#410mikeharder merged 7 commits intomainfrom
mikeharder merged 7 commits intomainfrom
Conversation
…eing a real reference.
Member
|
Related: Azure/autorest#5107 |
mikeharder
approved these changes
Oct 13, 2025
raych1
approved these changes
Oct 13, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fix: Handle
$refas JSON object in OpenAPI specificationsProblem
The
ObjectPath.FromObject()method assumes that$reffields in OpenAPI specifications are always strings (references like"#/definitions/FieldType"). However, in some OpenAPI specs,$refcan be a JSON object that defines a schema, causing anInvalidCastExceptionwhen the code attempts to cast aJObjectto a string.This showed up in the CI run for the following azure-rest-api-specs error below:
https://github.com/Azure/azure-rest-api-specs/actions/runs/18208997652
Reproduction Case
When processing OpenAPI specifications containing schema definitions like:
The following error occurs:
Root Cause
The original code in
FromObject()method attempted to call@ref.Value<string>()without checking if@refis actually a string. When$refis a JSON object (schema definition), this causes a cast exception.Solution
@ref.Type == JTokenType.Stringbefore attempting string conversionTesting
npm run dn.testand verified its pass$refvalues$reffields