=htc #18518 make it simpler to unmarshal csv values from params

This commit is contained in:
Konrad Malawski 2015-09-20 19:27:04 +01:00
parent e713591e5f
commit c9adfcfbc7
5 changed files with 49 additions and 3 deletions

View file

@ -7,8 +7,9 @@ package directives
import akka.http.scaladsl.model._
import akka.http.scaladsl.server.Route
import akka.http.scaladsl.unmarshalling.PredefinedFromStringUnmarshallers
class ParameterDirectivesExamplesSpec extends RoutingSpec {
class ParameterDirectivesExamplesSpec extends RoutingSpec with PredefinedFromStringUnmarshallers {
"example-1" in {
val route =
parameter('color) { color =>
@ -180,4 +181,17 @@ class ParameterDirectivesExamplesSpec extends RoutingSpec {
responseAs[String] shouldEqual "The parameters are x = '1', x = '2'"
}
}
"csv" in {
val route =
parameter("names".as(CsvString)) { names =>
complete(s"The parameters are ${names.mkString(", ")}")
}
Get("/?names=Caplin") ~> route ~> check {
responseAs[String] shouldEqual "The parameters are Caplin"
}
Get("/?names=Caplin,John") ~> route ~> check {
responseAs[String] shouldEqual "The parameters are Caplin, John"
}
}
}