-
Notifications
You must be signed in to change notification settings - Fork 9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Field name "entries" in a schema causes swagger-ui javascript error and fails to load #6016
Comments
Specifying version 3.25.2 (I'm using unpkg, I assume jsdelivr.net supports that too) fixes the problem. |
Actually I have the same error: When I type the field name entries, I received a message saying: "Unable to render this definition". paths:
/pet:
post:
summary: "Add a new pet to the store"
description: ""
parameters:
- in: "body"
name: "body"
schema:
$ref: "#/definitions/Pet"
responses:
"405":
description: "Invalid input"
definitions:
Pet:
type: "object"
properties:
id:
type: "integer"
entries:
type: "array"
items:
type: "string" I need to write entries as a field since my API requires this name. If I change entries to entry, it works as expected. paths:
/pet:
post:
summary: "Add a new pet to the store"
description: ""
parameters:
- in: "body"
name: "body"
schema:
$ref: "#/definitions/Pet"
responses:
"405":
description: "Invalid input"
definitions:
Pet:
type: "object"
properties:
id:
type: "integer"
entry:
type: "array"
items:
type: "string" Can someone help me with this problem, why it fails when I use entries as a field name? |
I have the same problem with Version 3.23.3 |
We found the issue is likely related to this change, where swagger fragments with an entries field are interpreted as a FormData object and swagger-ui attempts to invoke Exiting early when entries is not a function should resolve this. |
Looks like this is caused by #5999 |
@mke1ms @jlsjonas @stiliyan @jmmolina796 Thanks for reporting with details and suggestions! A fix is incoming and will be included in the next release. |
I have a question about this change. The change has been merged but the error still occurs when using petstore. Is there another repository that needs to adopt swagger before using 'entries' as a parameter works when rendering? |
@RSkorina A new release of SwaggerUI will make this change visible on petstore.swagger.io |
Your API definition is missing the OpenAPI/Swagger version number, in this case "swagger": "2.0" . Add it at the beginning, like so: { this worked for me, details on https://copyprogramming.com/howto/swagger-unable-to-render-this-definition-the-provided-definition-does-not-specify-a-valid-version-field?utm_content=cmp-true |
Problem
The openapi definition below has a schema with a field name called "entries". This causes the ui to throw a javascript error "e.entries is not a function" (see the screenshot below).
This behavior only started Friday May 15th 2020 at around 15:00 CET. Before that swagger-ui had no problems loading a schema containing a field called entries, so I am assuming something changed in the bundle I use from the url above.
Example Swagger/OpenAPI definition:
Screenshot
To reproduce...
Try to load swagger ui using the openapi.json above
The text was updated successfully, but these errors were encountered: