Skip to content

Commit 2661952

Browse files
committed
fix(open_api): required should be nil or true
the openapi spec says required should only be present if true
1 parent 8174d5b commit 2661952

2 files changed

Lines changed: 6 additions & 6 deletions

File tree

shard.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name: action-controller
2-
version: 7.5.2
2+
version: 7.5.3
33
crystal: ">= 1.9.0"
44

55
dependencies:

src/action-controller/open_api.cr

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ module ActionController::OpenAPI
99
alias Params = NamedTuple(
1010
name: String,
1111
in: Symbol,
12-
required: Bool,
12+
required: Bool?,
1313
schema: String,
1414
docs: String?,
1515
example: String?,
@@ -300,7 +300,7 @@ module ActionController::OpenAPI
300300
{
301301
name: {{ param_name }},
302302
in: {{ param[:in] }},
303-
required: {{ param[:required] }},
303+
required: ({{ param[:required] ? true : nil }}).as(Bool?),
304304
schema: ::JSON::Schema.introspect({{ param[:schema] }}, openapi: true).to_json,
305305
docs: {{ param[:docs] }}.as(String?),
306306
example: {{ param[:example] }}.as(String?),
@@ -350,7 +350,7 @@ module ActionController::OpenAPI
350350
{
351351
name: {{ param[:header] || param_name }},
352352
in: {{ param[:in] }},
353-
required: {{ param[:required] }},
353+
required: ({{ param[:required] ? true : nil }}).as(Bool?),
354354
schema: ::JSON::Schema.introspect({{ param[:schema] }}, openapi: true).to_json,
355355
docs: {{ param[:docs] }}.as(String?),
356356
example: {{ param[:example] }}.as(String?),
@@ -473,7 +473,7 @@ module ActionController::OpenAPI
473473
param = Parameter.new
474474
param.name = raw_param[:name]
475475
param.in = raw_param[:in].to_s
476-
param.required = raw_param[:required]
476+
param.required = raw_param[:required] ? true : nil
477477
param.schema = JSON.parse(raw_param[:schema])
478478
param.description = raw_param[:docs]
479479
param.example = raw_param[:example]
@@ -503,7 +503,7 @@ module ActionController::OpenAPI
503503
param = Parameter.new
504504
param.name = param_name
505505
param.in = raw_param[:in].to_s
506-
param.required = raw_param[:required]
506+
param.required = raw_param[:required] ? true : nil
507507
param.schema = JSON.parse(raw_param[:schema])
508508
param.description = raw_param[:docs]
509509
param.example = raw_param[:example]

0 commit comments

Comments
 (0)