OptionalValidatingQueryParamDecoderMatcher
abstract class OptionalValidatingQueryParamDecoderMatcher[T](name: String)(implicit evidence$13: QueryParamDecoder[T])
param extractor using org.http4s.QueryParamDecoder. Note that this will always match, but will return an Option possibly containing the result of the conversion to T
case class Foo(i: Int)
implicit val fooDecoder: QueryParamDecoder[Foo] = ...
case class Bar(i: Int)
implicit val barDecoder: QueryParamDecoder[Bar] = ...
object FooMatcher extends ValidatingQueryParamDecoderMatcher[Foo]("foo")
object BarMatcher extends OptionalValidatingQueryParamDecoderMatcher[Bar]("bar")
val routes = HttpRoutes.of {
case GET -> Root / "closest" :? FooMatcher(fooValue) +& BarMatcher(barValue) =>
^(fooValue, barValue getOrElse 42.right) { (foo, bar) =>
...
}.fold(
nelE => BadRequest(nelE.toList.map(_.sanitized).mkString("\n")),
baz => { ... }
)
- Source:
- Path.scala