diff --git a/src/SwaggerWcf/Attributes/SwaggerWcfPropertyAttribute.cs b/src/SwaggerWcf/Attributes/SwaggerWcfPropertyAttribute.cs index 8d9a194..6c3f2a4 100644 --- a/src/SwaggerWcf/Attributes/SwaggerWcfPropertyAttribute.cs +++ b/src/SwaggerWcf/Attributes/SwaggerWcfPropertyAttribute.cs @@ -47,6 +47,11 @@ public SwaggerWcfPropertyAttribute() /// public string Default { get; set; } + /// + /// Illustrate what the value is supposed to be like. + /// + public object Example { get; set; } + /// /// Maximum allowed value, as modified by ExclusiveMaximum. /// Must be a valid JSON number, and storable as a decimal. diff --git a/src/SwaggerWcf/Models/DefinitionProperty.cs b/src/SwaggerWcf/Models/DefinitionProperty.cs index a289d3a..66303c7 100644 --- a/src/SwaggerWcf/Models/DefinitionProperty.cs +++ b/src/SwaggerWcf/Models/DefinitionProperty.cs @@ -31,6 +31,8 @@ public DefinitionProperty() public string Default { get; set; } + public object Example { get; set; } + public decimal Maximum { get; set; } public bool ExclusiveMaximum { get; set; } @@ -92,6 +94,21 @@ public void Serialize(JsonWriter writer) writer.WritePropertyName("default"); writer.WriteValue(Default); } + if (Example!=null) + { + writer.WritePropertyName("example"); + if (Example.GetType().IsArray) + { + writer.WriteStartArray(); + foreach (var value in (object[])Example) + { + writer.WriteValue(value); + } + writer.WriteEndArray(); + } + else + writer.WriteValue(Example); + } if (Maximum != decimal.MaxValue) { writer.WritePropertyName("maximum"); diff --git a/src/SwaggerWcf/Support/DefinitionsBuilder.cs b/src/SwaggerWcf/Support/DefinitionsBuilder.cs index 7b3d10f..6a79b45 100644 --- a/src/SwaggerWcf/Support/DefinitionsBuilder.cs +++ b/src/SwaggerWcf/Support/DefinitionsBuilder.cs @@ -308,6 +308,7 @@ private static void ApplyAttributeOptions(PropertyInfo propertyInfo, DefinitionP //ApplyIfValid(LastValidValue(attrs, a => a._AllowEmptyValue), x => prop.AllowEmptyValue = x.Value); //ApplyIfValid(LastValidValue(attrs, a => a._CollectionFormat), x => prop.CollectionFormat = x.Value); ApplyIfValid(LastValidValue(attrs, a => a.Default), x => prop.Default = x); + ApplyIfValid(LastValidValue(attrs, a => a.Example), x => prop.Example = x); ApplyIfValid(LastValidValue(attrs, a => a._Maximum), x => prop.Maximum = x.Value); ApplyIfValid(LastValidValue(attrs, a => a._ExclusiveMaximum), x => prop.ExclusiveMaximum = x.Value); ApplyIfValid(LastValidValue(attrs, a => a._Minimum), x => prop.Minimum = x.Value);