Comment puis-je analyser obtenir les paramètres de la demande en spray-routage?
C'est ce que la section de code ressemble
get{
respondWithMediaType(MediaTypes.`application/json`){
entity(as[HttpRequest]){
obj => complete{
println(obj)
"ok"
}
}
}
}~
Je peux mapper la demande d'un spray.http.Objet HttpRequest et je peux extraire l'uri à partir de cet objet, mais j'imagine que c'est un moyen plus facile d'analyser les paramètres dans une requête get que de le faire manuellement.
Par exemple, si ma demande est
http://localhost:8080/url?id=23434&age=24
Je veux être en mesure d'obtenir l'id et l'âge de cette demande
OriginalL'auteur Kevin Colin | 2013-11-15
Vous devez vous connecter pour publier un commentaire.
En fait, vous pouvez faire tout cela beaucoup beaucoup mieux. Le routage d'il y a deux directives:
parameter
etparameters
, je suppose que la différence est claire, vous pouvez également utiliser certains modificateurs:!
et?
. En cas de!
, cela signifie que ce paramètre doit être fourni ou la demande va être rejeté et?
renvoie une option, de sorte que vous pouvez fournir un paramètre par défaut dans ce cas. Exemple:Notez que sur la Pulvérisation de 1.2 il serait
parameters('q, 'filter ? "all")
il n'a pas d'importance,
NameReplacable
définis pour les chaînes ainsi que pour les symbolesLe lire comme
getOrElse
pour laOption
type. Si il n'y a pasfilter
paramètre dans la requête, la valeur pour elle seraall
En fait vous avez raison, cet échantillon est mal à cela, vous devez fournir une valeur obligatoire pour
!
, comme'q ! "default"
, ce qui est nécessaire. Je crois que c'est votre problèmeOriginalL'auteur 4lex1v