我想用相同的uri定义两个不同的get rest端点,一个没有任何查询参数,另一个有查询参数。前任:http://host:port/resource/resourceid(不带查询参数的uri)http://host:port/resource/resourceid?key=value(带有查询参数的uri)如何用scala在akkahttp中实现上述要求,还需要uri中的segment(resourceid)。提前谢谢。
nfs0ujit1#
因为uri可以有查询参数,也可以没有查询参数,所以可以执行以下操作
path("resource" / Segment) { resourceId => parameter("key".optional) { value => //value of type Option[String] ??? } }
从医生那里“color”.optional(符号表示法“color.”?)将参数“color”的可选值提取为option[string]
6yoyoihd2#
解决方案表@ccheneson为我工作。如果你使用的是高于10.2.0的akka http版本,那么使用下面的解决方案
否则使用下面的解决方案
path("resource" / Segment) { resourceId => parameter("key".?) { value => //value of type Option[String] ??? } }
2条答案
按热度按时间nfs0ujit1#
因为uri可以有查询参数,也可以没有查询参数,所以可以执行以下操作
从医生那里
“color”.optional(符号表示法“color.”?)将参数“color”的可选值提取为option[string]
6yoyoihd2#
解决方案表@ccheneson为我工作。
如果你使用的是高于10.2.0的akka http版本,那么使用下面的解决方案
否则使用下面的解决方案