2016-04-22 14 views
0

Ich hatte eine API erfolgreich mit Abfrageparametern definiert, wollte aber stattdessen den gesamten Status über ein JSON-Objekt übergeben.Swagger-Fehler beim Importieren von JSON

ich folgende YAML-Datei definiert habe:

paths: 
    /contact-us: 
    post: 
     summary: Contact Us 
     description: | 
     Originates a new conversation thread 
     consumes: 
     - application/json 
     parameters: 
     - in: body 
      required: true 
      schema: 
      $ref: '#/definitions/RequestConversation' 
     tags: 
     - Email 
     responses: 
     200: 
      description: New conversation has been originated 
      schema: 
      $ref: '#/definitions/Conversation' 

Dies führt zu einem Fehler bei der parameters Linie in dem es heißt:

Data does not match any schemas from 'oneOf'

Aber ich folgende Definition in der gleichen YAML-Datei :

definitions: 
    RequestConversation: 
    type: object 
    properties: 
     company_id: 
     type: string 
     # required: true 
     user_email: 
     type: string 
     # required: true 
     type: 
     type: string 
     # required: true 
     default: 'contact-us' 
     sub_type: 
     type: string 
     campaign: 
     type: string 

Beachten Sie auch, dass die "erforderlichen" Definitionen sind auskommentiert und das ist, weil sie mir einen anderen Fehler gaben:

Expected type array but found type boolean

Kann jemand bitte helfen?

Antwort

0

Ok, löste mein eigenes Problem (zumindest der erste Teil). Hoffentlich wird jemand anderes auf der ganzen Linie profitieren:

  1. Die erste Ausgabe war eigentlich nur, dass ich nicht ein „Name“ Eigenschaft angegeben hatte, die erforderlich ist.

  2. Dies ist immer noch offen (aka, es funktioniert, aber die "erforderliche" Eigenschaft kann nicht verwendet werden).