Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

should NOT have additional properties - solução

Fala galera blz ?

Se alguém aí está tendo esse problema segue a solução:

swagger: '2.0'

schemes:
- "https"
- "http"

host: localhost:8085
basePath: /bytebank-api/v1

info:
  version: 1.0.0
  title: ByteBank API
  description: Administra a movimentação bancária do correntista e controla o aceso através do CPF e senha.
  termsOfService: http://localhost:8085/bytebank-api/v1/termo-uso
  contact:
    name: Suporte
    url: http://localhost:8085/bytebank-api/v1/suporte
    email: suporte@bytebank.com

paths:
  /cliente:
    post: 
      summary: "Cadastra novos clientes"
      description: "Cadastra um novo cliente"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      operationId: "Cadastra Cliente"
      parameters:
      - in: "body"
        name: "body"
        required: true
        schema:
          $ref: '#/definitions/Cliente'      
      responses:
        201:
          description: Cadastro efetuado com sucesso
          schema:
            $ref: '#/definitions/Cliente'
        400:
          description: Requisição inválida
        500:
          description: Erro interno no servidor

definitions:

  Cliente:
    type: object
    properties:
      id:
        type: integer
        format: int64
        example: 234
      titular:
        type: string
        example: Jorge Rabello
      cpf:
        type: string
        minLength: 11
        maxLength: 11
        example: 12345678900
      senha:
        type: string
        format: password
        example: senha1234
      conta:
        type: array
        items:
          $ref: '#/definitions/Conta'

  Conta:
    type: object
    properties:
      agencia:
        type: integer
        format: int32
        example: 975
      numero:
        type: integer
        format: int64
        example: 784563
      digito:
        type: integer
        format: int32
        example: 9
      saldo:
        type: number
        format: double
        example: 101.34
      cliente:
        $ref: '#/definitions/Cliente'

Mais especificamente nesse trecho:

paths:
  /cliente:
    post: 
      summary: "Cadastra novos clientes"
      description: "Cadastra um novo cliente"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      operationId: "Cadastra Cliente"
      parameters:
      - in: "body"
        name: "body"
        required: true
        schema:
          $ref: '#/definitions/Cliente'      

Dei uma olhada no exemplo que aparece quando você abre o swagger editor e notei que:

a) alguns valores estavem entre aspas duplas b) nos parameters se encontrava a chave required - o que faz sentindo já que é um post o body deve ser brigatório.

Falou valeu !

2 respostas
solução!

Jorge essa iniciativa de deixar a solução aqui é realmente muito bacana!

Opa blz Guilherme ? Pois é cara a intenção é ajudar ! Isso por que algumas vezes já resolvi alguns problemas assim, observando o que tinha no fórum !

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software