Repository navigation
allOf validation not working? #120
Copy link
Copy link
Open
Labels
good first issueGood for newcomersGood for newcomershacktoberfesthelp wantedExtra attention is neededExtra attention is needed
Description
Hi, I'm having issues getting an example spec using allOf to work. This is the spec, as provided by the OpenAPI docs:
openapi: 3.0.0
info:
title: AllOf.v1
version: '1.0'
servers:
- url: 'http://localhost:3000'
paths:
/pets:
patch:
requestBody:
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/Cat'
- $ref: '#/components/schemas/Dog'
discriminator:
propertyName: pet_type
responses:
'200':
description: Updated
components:
schemas:
Pet:
type: object
required:
- pet_type
properties:
pet_type:
type: string
Dog: # "Dog" is a value for the pet_type property (the discriminator value)
allOf: # Combines the main `Pet` schema with `Dog`-specific properties
- $ref: '#/components/schemas/Pet'
- type: object
# all other properties specific to a `Dog`
properties:
bark:
type: boolean
breed:
type: string
enum: [ Dingo, Husky, Retriever, Shepherd ]
Cat: # "Cat" is a value for the pet_type property (the discriminator value)
allOf: # Combines the main `Pet` schema with `Cat`-specific properties
- $ref: '#/components/schemas/Pet'
- type: object
# all other properties specific to a `Cat`
properties:
hunts:
type: boolean
age:
type: integerMy test attempts to send a JSON PATCH request to the /pets endpoint, using:
[
'pet_type' => 'Cat',
'age' => 3,
'hunts' => true,
]However, this only results in:
Request body did not match provided JSON schema.Digging in a bit more, it appears that the validator doesn't see the pet_type property it should be inheriting from the Pet component.
Any experience with this, or ideas? Thanks in advance.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
good first issueGood for newcomersGood for newcomershacktoberfesthelp wantedExtra attention is neededExtra attention is needed
Activity
Aribros commentedon Jul 28, 2023
I have been trying to reproduce this issue, @hotmeteor if you could give me a hint on how to reproduce the issue, it will be appreciated.
Please, which library are you using for your validation?
I think the issue may be as a result of failure of your library to recognise the
allOfreference.Please, I am waiting for your reply as I am working to fix this.
SOHELAHMED7 commentedon Jan 25, 2025
This issue is fixed in #208
Until merged, this PR can be 'composer required' as documented at https://github.com/php-openapi/yii2-openapi/blob/master/CONTRIBUTING.md#use-pr-of-your-own-fork-of-this-library-in-your-project-to-check-new-changes
Usage:
Duplicate of #31