Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Validation error: Data does not match any schemas from 'oneOf'

Tags:

I'm getting the error Data does not match any schemas from 'oneOf' with the following spec:

{   "info": {     "version": "1.0.0",     "title": "REST API"   },   "paths": {     "/doit": {       "post": {         "responses": {           "200": {             "description": "Successful response"           }         },         "parameters": [           {             "type": "object",             "schema": {               "$ref": "#/definitions/ResponseDefinition"             },             "required": "true",             "name": "docs",             "in": "body"           }         ]       }     }   },   "swagger": "2.0",   "definitions": {     "ResponseDefinition": {       "type": "object",       "properties": {         "text": {           "type": "string",           "description": ""         }       }     }   } } 

This full errorfrom the swagger-tools validator:

#/paths/~1doit/post/parameters/0: Data does not match any schemas from 'oneOf' #/paths/~1doit/post/parameters/0: Data does not match any schemas from 'oneOf'   #/required: Expected type boolean but found type string   #/: Missing required property: type #/paths/~1doit/post/parameters/0: Additional properties not allowed: in,name,required,schema 

I don't understand the error or how to resolve.

like image 738
Tim Avatar asked May 14 '15 22:05

Tim


1 Answers

You can't include type in a body parameter. That's why there's the schema. Try this:

{   "info": {     "version": "1.0.0",     "title": "REST API"   },   "paths": {     "/doit": {       "post": {         "responses": {           "200": {             "description": "Successful response"           }         },         "parameters": [           {             "schema": {               "$ref": "#/definitions/ResponseDefinition"             },             "required": "true",             "name": "docs",             "in": "body"           }         ]       }     }   },   "swagger": "2.0",   "definitions": {     "ResponseDefinition": {       "type": "object",       "properties": {         "text": {           "type": "string",           "description": ""         }       }     }   } } 
like image 183
Ron Avatar answered Sep 22 '22 19:09

Ron