This repository was archived by the owner on Nov 15, 2023. It is now read-only.
This repository was archived by the owner on Nov 15, 2023. It is now read-only.
Parameter allows $ref to satisfy type #44
Open
Description
swagger-cli allows $ref
in parameters, and does not throw error on missing type
if the $ref
contains one. The spec seems to leave some room for interpretation, but it does not seem to allow $ref
in this context, and on the other hand requires type
there.
FWIW https://github.com/zalando/intellij-swagger takes it the other (seemingly more correct IMHO) approach: it requires type
and disallows $ref
.
I lean towards thinking the approach of swagger-cli is not correct, because in other places in the spec where $ref
is ok, it is also explicitly documented.
https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#parameter-object
I think this example should raise two errors for the parameter:
- missing
type
$ref
not allowed
swagger: '2.0'
info:
version: 1.0.0
title: A very simple API
paths:
/foo:
get:
parameters:
- in: query
name: bar
required: false
$ref: "#/definitions/mytype"
responses:
"200":
description: "OK"
definitions:
mytype:
type: string
maxLength: 1