Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

oneOf with discriminator on path

Aberta
#52 1 comentário 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
35/100
Tipo de issue
Funcionalidade
Clareza
Precisa de esclarecimento
Status de atividade
Estagnada
Stack de tecnologia
openapi, python

Direção de pesquisa

Start with the minimal OpenAPI example in the issue and review how discriminator validation is handled for request bodies and path parameters. Check the project's validation entry points and tests for oneOf and discriminator behavior; done should clarify or implement the expected relationship between the path item_type and the selected schema.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

resolution/invalid

As all different types of request bodies should be processed by the same function, I was hoping to do something the following minimal example:

  /api/{item_type}:
    post:
      parameters:
        - in: path
          name: item_type
          required: true
          schema:
            type: string  
      requestBody:
        $ref: '#/components/requestBodies/object'
        required: true
      responses:
        '201':
          description: Item created
components:
  requestBodies:
    object:
      content:
        application/json:
          schema:
            oneOf:
              - $ref: '#/components/schemas/Movie'
              - $ref: '#/components/schemas/Program'
            discriminator:
              propertyName: item_type
  schemas:
    Movie:
      type: object
    Program:
      type: object

Essentially, I want one function, to parse all item_types, but still ensure validation based on item_type in the path. However, I can create a Movie with the properties of Program.
Is this not the intended use? Or is there no discriminator validation on parameters specified in the path?

Thanks in advance.

Linguagem predominante
Python
Estrelas
409
Forks
73
Métricas de merge de PRs
Nenhum PR com merge em 30d

Guia de contribuição

Abrir o guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de python-openapi/openapi-spec-validator

Todas as issues de python-openapi/openapi-spec-validator

Issues semelhantes

Mais issues de Python

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.