swagger-parser
swagger-parser copied to clipboard
Default values inconsistencies with path file refs and path params
When using file refs with paths the parser doesn't fill parameter fields with default values. For example this ref configuration:
openapi: 3.0.0
info:
version: 1.0.0
title: Swagger Test
license:
name: MIT
servers:
- url: /
paths:
/api/pet/{petId}:
$ref: "file.yaml"
get:
summary: Info for a specific pet
operationId: getById
parameters:
- name: petId
in: path
required: true
description: The id of the pet to retrieve
schema:
type: integer
responses:
200:
description: Expected response to a valid request
Generates this POJO:
class PathParameter {
class Parameter {
name: petId
in: null
description: The id of the pet to retrieve
required: null
deprecated: null
allowEmptyValue: null
style: null
explode: null
allowReserved: null
schema: class IntegerSchema {
class Schema {
title: null
multipleOf: null
maximum: null
exclusiveMaximum: null
minimum: null
exclusiveMinimum: null
maxLength: null
minLength: null
pattern: null
maxItems: null
minItems: null
uniqueItems: null
maxProperties: null
minProperties: null
required: null
type: null
not: null
properties: null
additionalProperties: null
description: null
format: null
$ref: null
nullable: null
readOnly: null
writeOnly: null
example: null
externalDocs: null
deprecated: null
discriminator: null
xml: null
}
type: integer
format: null
_default: null
_enum: null
}
examples: null
example: null
content: null
$ref: null
}
in: path
required: true
}
While, with same spec but all inside same file, I receive this:
class PathParameter {
class Parameter {
name: petId
in: null
description: The id of the pet to retrieve
required: null
deprecated: null
allowEmptyValue: null
style: simple
explode: false
allowReserved: null
schema: class IntegerSchema {
class Schema {
title: null
multipleOf: null
maximum: null
exclusiveMaximum: null
minimum: null
exclusiveMinimum: null
maxLength: null
minLength: null
pattern: null
maxItems: null
minItems: null
uniqueItems: null
maxProperties: null
minProperties: null
required: null
type: null
not: null
properties: null
additionalProperties: null
description: null
format: null
$ref: null
nullable: null
readOnly: null
writeOnly: null
example: null
externalDocs: null
deprecated: null
discriminator: null
xml: null
}
type: integer
format: int32
_default: null
_enum: null
}
examples: null
example: null
content: null
$ref: null
}
in: path
required: true
}
Note that style, explode, schema.format are inconsistent
I don't know if the same bug exists for remote http refs too. Swagger parser 2.0.8