From 979d16d518b05c9f702bb526388bd278b9c51cee Mon Sep 17 00:00:00 2001 From: Sergey Nastich Date: Tue, 17 Apr 2018 17:22:13 -0400 Subject: ListResponse and Unmarshallers improvements * Add an alternative `ListResponse` constructor allowing optional pagination * Unmarshal JsStrings from query parameters --- src/main/scala/xyz/driver/core/json.scala | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/main/scala/xyz/driver/core/json.scala') diff --git a/src/main/scala/xyz/driver/core/json.scala b/src/main/scala/xyz/driver/core/json.scala index 2d912d8..aeb3453 100644 --- a/src/main/scala/xyz/driver/core/json.scala +++ b/src/main/scala/xyz/driver/core/json.scala @@ -34,6 +34,12 @@ object json { } } + implicit def paramUnmarshaller[T](implicit reader: JsonReader[T]): Unmarshaller[String, T] = + Unmarshaller.firstOf( + Unmarshaller.strict((JsString(_: String)) andThen reader.read), + stringToValueUnmarshaller[T] + ) + implicit def idFormat[T]: RootJsonFormat[Id[T]] = new RootJsonFormat[Id[T]] { def write(id: Id[T]) = JsString(id.value) -- cgit v1.2.3