Skip to content
This repository was archived by the owner on Sep 17, 2025. It is now read-only.

Commit 92d34c3

Browse files
author
Phil Sturgeon
committed
Support example and x-example in Swagger Properties
1 parent 24cc71a commit 92d34c3

2 files changed

Lines changed: 46 additions & 2 deletions

File tree

src/parsers/swagger/v2.0/Parser.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1252,6 +1252,12 @@ methods.convertParameterObjectIntoParameter = (parameterEntry) => {
12521252
applicableContexts
12531253
}
12541254

1255+
if (parameter.example) {
1256+
paramInstance.examples = List([parameter.example])
1257+
} else if (parameter['x-example']) {
1258+
paramInstance.examples = List([parameter['x-example']])
1259+
}
1260+
12551261
if (parameter.type === 'array' && parameter.items) {
12561262
const { value } = methods.convertParameterObjectIntoParameter({
12571263
key: null,

src/parsers/swagger/v2.0/__tests__/Parser.spec.js

Lines changed: 40 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2772,7 +2772,8 @@ describe('parsers/swagger/v2.0/Parser.js', () => {
27722772
maximum: 321,
27732773
minimum: 123,
27742774
multipleOf: 5,
2775-
default: 100
2775+
default: 100,
2776+
example: 12345
27762777
}
27772778
}
27782779

@@ -2787,6 +2788,9 @@ describe('parsers/swagger/v2.0/Parser.js', () => {
27872788
required: true,
27882789
type: 'integer',
27892790
default: 100,
2791+
examples: List([
2792+
12345
2793+
]),
27902794
constraints: List([
27912795
new Constraint.Maximum(321),
27922796
new Constraint.Minimum(123),
@@ -2816,7 +2820,8 @@ describe('parsers/swagger/v2.0/Parser.js', () => {
28162820
maximum: 321,
28172821
minimum: 123,
28182822
multipleOf: 5,
2819-
default: 100
2823+
default: 100,
2824+
example: 12345
28202825
}
28212826
}
28222827
}
@@ -2838,6 +2843,7 @@ describe('parsers/swagger/v2.0/Parser.js', () => {
28382843
required: true,
28392844
type: 'integer',
28402845
default: 100,
2846+
examples: List([12345]),
28412847
constraints: List([
28422848
new Constraint.Maximum(321),
28432849
new Constraint.Minimum(123),
@@ -2920,6 +2926,38 @@ describe('parsers/swagger/v2.0/Parser.js', () => {
29202926
const actual = inputs.map(input => __internals__.convertParameterObjectIntoParameter(input))
29212927
expect(actual).toEqual(expected)
29222928
})
2929+
2930+
it('should respect x-example too', () => {
2931+
const entry = {
2932+
key: 'UserId',
2933+
value: {
2934+
name: 'userId',
2935+
in: 'query',
2936+
type: 'integer',
2937+
required: true,
2938+
'x-example': 23456
2939+
}
2940+
}
2941+
2942+
const expected = {
2943+
key: 'UserId',
2944+
value: new Parameter({
2945+
key: 'userId',
2946+
name: 'userId',
2947+
in: 'queries',
2948+
uuid: 'UserId',
2949+
required: true,
2950+
type: 'integer',
2951+
examples: List([
2952+
23456
2953+
]),
2954+
constraints: List()
2955+
})
2956+
}
2957+
2958+
const actual = __internals__.convertParameterObjectIntoParameter(entry)
2959+
expect(actual).toEqual(expected)
2960+
})
29232961
})
29242962

29252963
describe('@convertParameterObjectArrayIntoParameterMap', () => {

0 commit comments

Comments
 (0)