openapi-designer icon indicating copy to clipboard operation
openapi-designer copied to clipboard

Export spec should not contain `x-oad-type` attributes

Open brylie opened this issue 7 years ago • 3 comments

When trying to import a spec file from OpenAPI Designer into the Swagger Editor, there are several validation errors. A common validation error is:

Sibling values are not allowed alongside $refs

This basically means that anywhere there is a $ref element, it cannot have any other elements in the same scope. See, for example:

startTime:
  // The x-oad-type invalidates the schema
  x-oad-type: reference
  $ref: '#/definitions/time'

Task

Make sure exported spec file does not contain x-oad-type attributes. Also, make sure exported spec file is valid - i.e. should not have any validation errors.

brylie avatar Jan 12 '18 10:01 brylie

Due to lines containing "x-oad-type", the exported spec is incompatible with editor.swagger.io. The following regex operation solves the problem one-way: replace{\n\s+"x-oad-type": "\w+".*\n}{\n}

The cleaned up spec cannot be imported back to openapi.designer.

Yuman1 avatar Sep 26 '18 21:09 Yuman1

We had the same problem with Swagger editor, which is why this issue exists. Please consider increasing the priority, so that output from OpenAPI Designer is compatible with Swagger Editor.

brylie avatar Sep 27 '18 11:09 brylie

A follow-up on a previous post, I have used this fix to bridge between openapi.designer and swagger editor both ways: replace{,?\n\s+"x-oad-type": "\w+".*\n}{\n} You can export to JSON, run the fix in a text editor, import to swagger, export from swagger, and import back into openapi.designer. That shows that x-oad-type is unnecessary even within oad. Removing it will make oad much more useful.

Yuman avatar Oct 07 '18 21:10 Yuman