Skip to content

Commit 662f4ff

Browse files
committed
feat(swagger-object): Export primitive of array as primitive instead as ref
1 parent aa5088c commit 662f4ff

2 files changed

Lines changed: 9 additions & 1 deletion

File tree

src/swagger/builder.cr

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,11 @@ module Swagger
111111
if object.type == "array"
112112
if items = object.items
113113
if items.is_a?(String)
114-
schema_items = Objects::Schema.use_reference(items)
114+
if [ "string", "integer", "number", "boolean" ].includes?(items)
115+
schema_items = Objects::Schema.default_type(items)
116+
else
117+
schema_items = Objects::Schema.use_reference(items)
118+
end
115119
else
116120
schema_items = build_schema(items)
117121
end

src/swagger/objects/schema.cr

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,10 @@ module Swagger::Objects
1313
new(ref: "#/components/schemas/#{name}")
1414
end
1515

16+
def self.default_type(type : String)
17+
new(type: type)
18+
end
19+
1620
# See https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.3.md#dataTypes
1721
getter type : String? = nil
1822
getter format : String? = nil

0 commit comments

Comments
 (0)