raml-java-parser
raml-java-parser copied to clipboard
Discriminator - Given example in type declaration should correspond to the type declared
#%RAML 1.0
title: Discriminator
types:
Person:
type: object
discriminator: kind # refers to the `kind` property of object `Person`
properties:
kind: string # contains name of the kind of a `Person` instance
name: string
Employee: # kind may equal to `Employee; default value for `discriminatorValue`
type: Person
properties:
employeeId: string
User: # kind may equal to `User`; default value for `discriminatorValue`
type: Person
properties:
userId: string
example:
kind: Employee
name: Valentin
employeeId: valen.tin
Actual result:
{
"title": {
"value": "Discriminator"
},
"types": {
"Person": {
"type": "object",
"discriminator": "kind",
"properties": {
"kind": {
"type": "string",
"displayName": {
"value": "kind"
}
},
"name": {
"type": "string",
"displayName": {
"value": "name"
}
}
},
"displayName": {
"value": "Person"
}
},
"Employee": {
"type": "Person",
"properties": {
"employeeId": {
"type": "string",
"displayName": {
"value": "employeeId"
}
}
},
"displayName": {
"value": "Employee"
}
},
"User": {
"type": "Person",
"properties": {
"userId": {
"type": "string",
"displayName": {
"value": "userId"
}
}
},
"example": {
"kind": "Employee",
"name": "Valentin",
"employeeId": "valen.tin"
},
"displayName": {
"value": "User"
}
}
}
}
Expected result:
Validate given example is at User level, but the values are from Employee type
Aha! Link: https://mulesoft-roadmap.aha.io/features/APIRAML-133
The problem is still there