OpenAPITools / openapi-generator

OpenAPI Generator allows generation of API client libraries (SDK generation), server stubs, documentation and configuration automatically given an OpenAPI Spec (v2, v3)
https://openapi-generator.tech
Apache License 2.0
21.68k stars 6.55k forks source link

[BUG][GO] JSON marshalling incorrect when setting anyOf properties as required #19963

Open perhallgren opened 1 day ago

perhallgren commented 1 day ago

Bug Report Checklist

Description

When an anyOf model is a required property, JSON marshalling is incorrect.

openapi-generator version
docker run --rm openapitools/openapi-generator-cli:latest version
7.10.0-SNAPSHOT
OpenAPI declaration file content or url
openapi: 3.0.0
info:
  version: 1.0.0
  title: FooBar Service
paths: {}
components:
  schemas:
    Bad:
      type: object
      description: bad
      required:
        - obj
      properties:
        obj:
          $ref: '#/components/schemas/Obj'
    Obj:
      anyOf:
        - type: string
        - type: integer
      example: a
      description: obj
Generation Details

I'm running

docker run --rm -v "${PWD}:/local" openapitools/openapi-generator-cli:latest generate \
        --input-spec /local/go-json-marshal.yaml \
        --generator-name go \
        --additional-properties "withGoMod=false" \
        --package-name gen \
        --output /local/gen
Steps to reproduce

Run this gist

Related issues/PRs
Suggest a fix
perhallgren commented 1 day ago

Looks like the same issue: https://github.com/OpenAPITools/openapi-generator/issues/14028