php-openapi: allOf is not properly merged

Given a schema that uses allOf to combine two different object schemas, the properties of the two schemas are not combined:

{
  "components": {
    "schemas": {
      "identifier": {
        "type": "object",
        "properties": {
           "id": {"type": "string"}
        }
      },
      "person": {
        "allOf": [
          {"$ref": "#/components/schemas/identifier"},
          {
            "type": "object",
            "properties": {
              "name": {
                "type": "string"
              }
            }
          }
        ]
      }
    }
  }
}

Not 100% sure that schema validates, but it should be a good start.

About this issue

  • Original URL
  • State: open
  • Created 5 years ago
  • Comments: 15 (12 by maintainers)

Commits related to this issue

Most upvoted comments

No, there’s still an issue. I created a workaround in my tool, but I’d prefer to see things merging as expected. This is the example schema that we’re testing with: https://github.com/hotmeteor/spectator/blob/master/tests/Fixtures/Components.v1.json