swagger ui - Can a YAML file imported into an API spec reference another include YAML file? -
using swagger-editor , swagger-ui build swagger2.0 specification in yaml.
i have split spec client.yml , several model.yml files.
each model defines parameters or response objects.
when open client.yml in editor, load models client using $ref:
however, there appears problem if object in 1 of model files tries reference object in model file.
i have tried absolute , relative paths no avail. error, like: "reference not resolved: /models/basemodel.yml#/basicobject" path: array [10]
error: "cannot use 'in' operator search 'basicobject' in undefined" level: 900 type: "swagger error" description: "reference not resolved: /models/basemodel.yml#/basicobject" linenumber: -1
the simplerobject identical , works fine. references copyofbasicobject in same file. advancedobject tries reference basicobject in different model file.
the goal not copy definition of basicobject refer it.
it necessary clear browser cache , reload page before editor read new version of model file.
the files used test included. have converted single file stackoverflow editor not rendering yaml well.
swagger: '2.0' info: title: test indirect reference description: etc version: "draft 0.1.1" host: example.com basepath: / produces: - application/json paths: /advancedobjects: post: summary: | post object. parameters: - name: advancedobject in: body required: true schema: type: array items: $ref: '/models/model.yml#/advancedobject' # doeesn't work #$ref: '/models/model.yml#/simplerobject' # works fine #$ref: '/models/basemodel.yml#/basicobject' # works fine responses: 200: description: ok definitions: advancedobject: #move /models/model.yml type: object description: contains reference basic object properties: base: $ref: '/models/basemodel.yml#/basicobject' advanced: type: array items: type: number copyofbasicobject: # move /models/model.yml type: object description: simple object properties: id: type: number simplerobject: # move /models/model.yml type: object description: same advanceobject without reference file properties: base: $ref: '#/copyofbasicobject' advanced: type: array items: type: number basicobject: # move /models/basemodel.yml type: object description: simple object properties: id: type: number
Comments
Post a Comment