Skip to content

Commit 5c63bda

Browse files
committed
added missing example field in OpenAPI Schema object
1 parent 4c37484 commit 5c63bda

File tree

2 files changed

+8
-3
lines changed

2 files changed

+8
-3
lines changed

commons-core/src/main/scala/com/avsystem/commons/rest/openapi/OpenApi.scala

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -258,7 +258,8 @@ case class Schema(
258258
@td discriminator: OptArg[Discriminator] = OptArg.Empty,
259259

260260
@td enum: List[JsonValue] = Nil,
261-
@td default: OptArg[JsonValue] = OptArg.Empty
261+
@td default: OptArg[JsonValue] = OptArg.Empty,
262+
@td example: OptArg[JsonValue] = OptArg.Empty
262263
)
263264
object Schema extends HasGenCodec[Schema] {
264265
final val Boolean = Schema(`type` = DataType.Boolean)

commons-core/src/main/scala/com/avsystem/commons/rest/openapi/adjusters/Adjuster.scala

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -198,9 +198,13 @@ class pathSummary(summary: String) extends PathItemAdjuster {
198198
}
199199

200200
/**
201-
* Adds example to [[Parameter]] object generated for REST method parameter annotated with this annotation.
201+
* Adds example to [[Schema]] or [[Parameter]] object
202202
*/
203-
class example[+T](value: T, @infer asJson: AsRaw[JsonValue, T] = infer.value) extends ParameterAdjuster {
203+
class example[+T](value: T, @infer asJson: AsRaw[JsonValue, T] = infer.value)
204+
extends SchemaAdjuster with ParameterAdjuster {
205+
206+
def adjustSchema(schema: Schema): Schema =
207+
schema.copy(example = asJson.asRaw(value))
204208
def adjustParameter(parameter: Parameter): Parameter =
205209
parameter.copy(example = asJson.asRaw(value))
206210
}

0 commit comments

Comments
 (0)