112 references to OpenApiSchemaKeywords
Microsoft.AspNetCore.OpenApi (109)
Extensions\JsonNodeSchemaExtensions.cs (52)
88
schema[
OpenApiSchemaKeywords
.FormatKeyword] = "byte";
123
schema[rangeAttribute.MinimumIsExclusive ?
OpenApiSchemaKeywords
.ExclusiveMinimum :
OpenApiSchemaKeywords
.MinimumKeyword] = minValue;
127
schema[rangeAttribute.MaximumIsExclusive ?
OpenApiSchemaKeywords
.ExclusiveMaximum :
OpenApiSchemaKeywords
.MaximumKeyword] = maxValue;
132
schema[
OpenApiSchemaKeywords
.PatternKeyword] = regularExpressionAttribute.Pattern;
136
var isArray = MapJsonNodeToSchemaType(schema[
OpenApiSchemaKeywords
.TypeKeyword]) is { } schemaTypes && schemaTypes.HasFlag(JsonSchemaType.Array);
137
var key = isArray ?
OpenApiSchemaKeywords
.MaxItemsKeyword :
OpenApiSchemaKeywords
.MaxLengthKeyword;
142
var isArray = MapJsonNodeToSchemaType(schema[
OpenApiSchemaKeywords
.TypeKeyword]) is { } schemaTypes && schemaTypes.HasFlag(JsonSchemaType.Array);
143
var key = isArray ?
OpenApiSchemaKeywords
.MinItemsKeyword :
OpenApiSchemaKeywords
.MinLengthKeyword;
148
var isArray = MapJsonNodeToSchemaType(schema[
OpenApiSchemaKeywords
.TypeKeyword]) is { } schemaTypes && schemaTypes.HasFlag(JsonSchemaType.Array);
155
schema[
OpenApiSchemaKeywords
.FormatKeyword] = "uri";
159
schema[
OpenApiSchemaKeywords
.MinLengthKeyword] = stringLengthAttribute.MinimumLength;
160
schema[
OpenApiSchemaKeywords
.MaxLengthKeyword] = stringLengthAttribute.MaximumLength;
180
schema[
OpenApiSchemaKeywords
.DefaultKeyword] = null;
184
schema[
OpenApiSchemaKeywords
.DefaultKeyword] = JsonSerializer.SerializeToNode(defaultValue, jsonTypeInfo);
209
if (underlyingType != null && MapJsonNodeToSchemaType(schema[
OpenApiSchemaKeywords
.TypeKeyword]) is { } schemaTypes &&
212
schema[
OpenApiSchemaKeywords
.TypeKeyword] = (schemaTypes | JsonSchemaType.Null).ToString();
214
schema[
OpenApiSchemaKeywords
.FormatKeyword] = openApiSchema.Format;
232
schema[
OpenApiSchemaKeywords
.MinimumKeyword] = minRouteConstraint.Min;
236
schema[
OpenApiSchemaKeywords
.MaximumKeyword] = maxRouteConstraint.Max;
240
schema[
OpenApiSchemaKeywords
.MinLengthKeyword] = minLengthRouteConstraint.MinLength;
244
schema[
OpenApiSchemaKeywords
.MaxLengthKeyword] = maxLengthRouteConstraint.MaxLength;
248
schema[
OpenApiSchemaKeywords
.MinimumKeyword] = rangeRouteConstraint.Min;
249
schema[
OpenApiSchemaKeywords
.MaximumKeyword] = rangeRouteConstraint.Max;
253
schema[
OpenApiSchemaKeywords
.TypeKeyword] = JsonSchemaType.String.ToString();
254
schema[
OpenApiSchemaKeywords
.FormatKeyword] = null;
255
schema[
OpenApiSchemaKeywords
.PatternKeyword] = regexRouteConstraint.Constraint.ToString();
259
schema[
OpenApiSchemaKeywords
.MinLengthKeyword] = lengthRouteConstraint.MinLength;
260
schema[
OpenApiSchemaKeywords
.MaxLengthKeyword] = lengthRouteConstraint.MaxLength;
264
schema[
OpenApiSchemaKeywords
.TypeKeyword] = JsonSchemaType.Number.ToString();
265
schema[
OpenApiSchemaKeywords
.FormatKeyword] = constraint is FloatRouteConstraint ? "float" : "double";
269
schema[
OpenApiSchemaKeywords
.TypeKeyword] = JsonSchemaType.Integer.ToString();
270
schema[
OpenApiSchemaKeywords
.FormatKeyword] = constraint is LongRouteConstraint ? "int64" : "int32";
274
schema[
OpenApiSchemaKeywords
.TypeKeyword] = JsonSchemaType.String.ToString();
275
schema[
OpenApiSchemaKeywords
.FormatKeyword] = constraint is GuidRouteConstraint ? "uuid" : null;
279
schema[
OpenApiSchemaKeywords
.TypeKeyword] = JsonSchemaType.Boolean.ToString();
280
schema[
OpenApiSchemaKeywords
.FormatKeyword] = null;
284
schema[
OpenApiSchemaKeywords
.TypeKeyword] = JsonSchemaType.String.ToString();
285
schema[
OpenApiSchemaKeywords
.FormatKeyword] = null;
289
schema[
OpenApiSchemaKeywords
.TypeKeyword] = JsonSchemaType.String.ToString();
290
schema[
OpenApiSchemaKeywords
.FormatKeyword] = "date-time";
356
&& MapJsonNodeToSchemaType(schema[
OpenApiSchemaKeywords
.TypeKeyword]) is { } schemaTypes &&
359
schema[
OpenApiSchemaKeywords
.TypeKeyword] = (schemaTypes & ~JsonSchemaType.Null).ToString();
407
schema[
OpenApiSchemaKeywords
.DiscriminatorKeyword] = polymorphismOptions.TypeDiscriminatorPropertyName;
408
schema[
OpenApiSchemaKeywords
.DiscriminatorMappingKeyword] = mappings;
455
if (MapJsonNodeToSchemaType(schema[
OpenApiSchemaKeywords
.TypeKeyword]) is { } schemaTypes &&
458
schema[
OpenApiSchemaKeywords
.TypeKeyword] = (schemaTypes | JsonSchemaType.Null).ToString();
476
schema[
OpenApiSchemaKeywords
.TypeKeyword] is JsonArray typeArray)
487
schema[
OpenApiSchemaKeywords
.TypeKeyword] = typeArray[0]?.GetValue<string>();
Schemas\OpenApiJsonSchema.Helpers.cs (24)
185
case
OpenApiSchemaKeywords
.TypeKeyword:
209
case
OpenApiSchemaKeywords
.EnumKeyword:
217
case
OpenApiSchemaKeywords
.DefaultKeyword:
221
case
OpenApiSchemaKeywords
.ItemsKeyword:
226
case
OpenApiSchemaKeywords
.DescriptionKeyword:
230
case
OpenApiSchemaKeywords
.FormatKeyword:
234
case
OpenApiSchemaKeywords
.RequiredKeyword:
238
case
OpenApiSchemaKeywords
.MinLengthKeyword:
243
case
OpenApiSchemaKeywords
.MinItemsKeyword:
248
case
OpenApiSchemaKeywords
.MaxLengthKeyword:
253
case
OpenApiSchemaKeywords
.MaxItemsKeyword:
258
case
OpenApiSchemaKeywords
.MinimumKeyword:
263
case
OpenApiSchemaKeywords
.ExclusiveMinimum:
268
case
OpenApiSchemaKeywords
.MaximumKeyword:
273
case
OpenApiSchemaKeywords
.ExclusiveMaximum:
278
case
OpenApiSchemaKeywords
.PatternKeyword:
283
case
OpenApiSchemaKeywords
.PropertiesKeyword:
288
case
OpenApiSchemaKeywords
.AdditionalPropertiesKeyword:
298
case
OpenApiSchemaKeywords
.AnyOfKeyword:
304
case
OpenApiSchemaKeywords
.OneOfKeyword:
310
case
OpenApiSchemaKeywords
.DiscriminatorKeyword:
318
case
OpenApiSchemaKeywords
.DiscriminatorMappingKeyword:
343
case
OpenApiSchemaKeywords
.ConstKeyword:
348
case
OpenApiSchemaKeywords
.RefKeyword:
Services\Schemas\OpenApiSchemaService.cs (33)
67
[
OpenApiSchemaKeywords
.TypeKeyword] = "string",
68
[
OpenApiSchemaKeywords
.FormatKeyword] = "binary",
76
[
OpenApiSchemaKeywords
.TypeKeyword] = "array",
77
[
OpenApiSchemaKeywords
.ItemsKeyword] = new JsonObject
79
[
OpenApiSchemaKeywords
.TypeKeyword] = "string",
80
[
OpenApiSchemaKeywords
.FormatKeyword] = "binary",
106
schema[
OpenApiSchemaKeywords
.DescriptionKeyword] = typeDescriptionAttribute.Description;
124
schema[
OpenApiSchemaKeywords
.DescriptionKeyword] = descriptionAttribute.Description;
144
[
OpenApiSchemaKeywords
.TypeKeyword] = "object",
145
[
OpenApiSchemaKeywords
.AdditionalPropertiesKeyword] = false,
146
[
OpenApiSchemaKeywords
.RequiredKeyword] = JsonArray(["op", "path", "value"]),
147
[
OpenApiSchemaKeywords
.PropertiesKeyword] = new JsonObject
151
[
OpenApiSchemaKeywords
.TypeKeyword] = "string",
152
[
OpenApiSchemaKeywords
.EnumKeyword] = JsonArray(["add", "replace", "test"]),
156
[
OpenApiSchemaKeywords
.TypeKeyword] = "string"
164
[
OpenApiSchemaKeywords
.TypeKeyword] = "object",
165
[
OpenApiSchemaKeywords
.AdditionalPropertiesKeyword] = false,
166
[
OpenApiSchemaKeywords
.RequiredKeyword] = JsonArray(["op", "path", "from"]),
167
[
OpenApiSchemaKeywords
.PropertiesKeyword] = new JsonObject
171
[
OpenApiSchemaKeywords
.TypeKeyword] = "string",
172
[
OpenApiSchemaKeywords
.EnumKeyword] = JsonArray(["move", "copy"]),
176
[
OpenApiSchemaKeywords
.TypeKeyword] = "string"
180
[
OpenApiSchemaKeywords
.TypeKeyword] = "string"
187
[
OpenApiSchemaKeywords
.TypeKeyword] = "object",
188
[
OpenApiSchemaKeywords
.AdditionalPropertiesKeyword] = false,
189
[
OpenApiSchemaKeywords
.RequiredKeyword] = JsonArray(["op", "path"]),
190
[
OpenApiSchemaKeywords
.PropertiesKeyword] = new JsonObject
194
[
OpenApiSchemaKeywords
.TypeKeyword] = "string",
195
[
OpenApiSchemaKeywords
.EnumKeyword] = JsonArray(["remove"])
199
[
OpenApiSchemaKeywords
.TypeKeyword] = "string"
207
[
OpenApiSchemaKeywords
.TypeKeyword] = "array",
208
[
OpenApiSchemaKeywords
.ItemsKeyword] = new JsonObject
210
[
OpenApiSchemaKeywords
.OneOfKeyword] = JsonArray([addReplaceTest, moveCopy, remove])
Microsoft.AspNetCore.OpenApi.Tests (3)
Integration\OpenApiDocumentIntegrationTests.cs (3)
141
context.Enter($"{PathString[2..]}/{
OpenApiSchemaKeywords
.RefKeyword}");
159
var @ref = parent[
OpenApiSchemaKeywords
.RefKeyword];
166
path += $"/{
OpenApiSchemaKeywords
.RefKeyword}";