-
Notifications
You must be signed in to change notification settings - Fork 9.2k
Description
When reporting a bug, please provide the following details:
- swagger-ui version 2.0
I downloaded the latest distro from master and hosted it along side my webapp. I tested it on a "Ping" API with a plain text response and it worked fine. Then I started adding annotations to my other APIs.
I see this error.
Here is the swagger.json that is generated:
{
"swagger": "2.0",
"info": {
"version": "1.0.0",
"title": ""
},
"host": "localhost:8080",
"basePath": "/api/v1",
"tags": [{
"name": "user"
}, {
"name": "ping"
}],
"schemes": ["http"],
"paths": {
"/ping": {
"get": {
"tags": ["ping"],
"summary": "Health Check API",
"description": "",
"operationId": "sayPlainTextHello",
"produces": ["text/plain"],
"parameters": [],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
}
}
}
}
},
"/users": {
"post": {
"tags": ["user"],
"operationId": "createUser",
"parameters": [{
"in": "body",
"name": "body",
"required": false,
"schema": {
"$ref": "#/definitions/UserDTO"
}
}],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"$ref": "#/definitions/User"
},
"headers": {}
}
}
}
},
"/users/{email}": {
"get": {
"tags": ["user"],
"operationId": "getUserByEmail",
"parameters": [{
"name": "email",
"in": "path",
"required": true,
"type": "string"
}],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"$ref": "#/definitions/User"
},
"headers": {}
}
}
}
}
},
"definitions": {
"Comment": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"userId": {
"type": "integer",
"format": "int64"
},
"comment": {
"type": "string"
},
"commentDate": {
"type": "string",
"format": "date-time"
}
}
},
"Destination": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"name": {
"type": "string"
},
"latitude": {
"type": "number",
"format": "double"
},
"longitude": {
"type": "number",
"format": "double"
},
"locations": {
"type": "array",
"items": {
"$ref": "#/definitions/Location"
}
},
"sequenceNum": {
"type": "integer",
"format": "int32"
},
"dayNum": {
"type": "integer",
"format": "int32"
},
"todos": {
"type": "array",
"items": {
"$ref": "#/definitions/Todo"
}
}
}
},
"Todo": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"todoDescription": {
"type": "string"
},
"attraction": {
"type": "string"
}
}
},
"TripHistory": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"itineraryId": {
"type": "integer",
"format": "int64"
},
"tripStartDate": {
"type": "string",
"format": "date-time"
},
"rating": {
"type": "integer",
"format": "int32"
}
}
},
"User": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"facebookHandle": {
"type": "string"
},
"firstName": {
"type": "string"
},
"lastName": {
"type": "string"
},
"email": {
"type": "string"
},
"password": {
"type": "string"
},
"accountStatus": {
"type": "string"
},
"accountType": {
"type": "string"
},
"accountCreationDate": {
"type": "string",
"format": "date-time"
},
"lastLoginTime": {
"type": "string",
"format": "date-time"
},
"faqsAsked": {
"type": "array",
"items": {
"$ref": "#/definitions/Faq"
}
},
"faqsAnswered": {
"type": "array",
"items": {
"$ref": "#/definitions/FaqResponse"
}
},
"itineraries": {
"type": "array",
"items": {
"$ref": "#/definitions/Itinerary"
}
},
"likedItineraries": {
"type": "array",
"items": {
"$ref": "#/definitions/ItineraryLike"
}
},
"tripHistory": {
"type": "array",
"items": {
"$ref": "#/definitions/TripHistory"
}
}
}
},
"FaqResponse": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"answer": {
"type": "string"
}
}
},
"Faq": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"itinerary": {
"$ref": "#/definitions/Itinerary"
},
"question": {
"type": "string"
},
"asker": {
"$ref": "#/definitions/User"
},
"answers": {
"type": "array",
"items": {
"$ref": "#/definitions/FaqResponse"
}
}
}
},
"UserDTO": {
"type": "object",
"properties": {
"email": {
"type": "string"
},
"password": {
"type": "string"
}
}
},
"Itinerary": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"itineraryName": {
"type": "string"
},
"startDate": {
"type": "string",
"format": "date-time"
},
"endDate": {
"type": "string",
"format": "date-time"
},
"numOfDays": {
"type": "integer",
"format": "int32"
},
"numOfAdults": {
"type": "integer",
"format": "int32"
},
"numofKids": {
"type": "integer",
"format": "int32"
},
"numofLikes": {
"type": "integer",
"format": "int64"
},
"numOfViews": {
"type": "integer",
"format": "int64"
},
"status": {
"type": "string"
},
"createDate": {
"type": "string",
"format": "date-time"
},
"users": {
"type": "array",
"items": {
"$ref": "#/definitions/User"
}
},
"itineraryLink": {
"type": "string"
},
"comments": {
"type": "array",
"items": {
"$ref": "#/definitions/Comment"
}
},
"faqs": {
"type": "array"
},
"destinations": {
"type": "array",
"items": {
"$ref": "#/definitions/Destination"
}
},
"public": {
"type": "boolean",
"default": false
}
}
},
"ItineraryLike": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"likeType": {
"type": "string"
},
"itineraryId": {
"type": "integer",
"format": "int64"
},
"likedOnDate": {
"type": "string",
"format": "date-time"
}
}
},
"Location": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"name": {
"type": "string"
},
"locationType": {
"type": "string"
}
}
}
}
}I did not use the swagger editor.
I read other issues with arrays without "items" but that doesn't seem like an issue here. But I did notice some weird behavior though:
"destinations": { "type": "array", "items": { **"$ref": "#/definitions/Destination"** } },
I see a "definitions" added randomly to all array items. I am not sure what it is. My Entity has a OneToMany association so I have a List Object. For example, User class has a a List of Comment objects.
Any pointers?