我有一个类似这样的路径结构
pathPrexix("root"){
concat {
path("path") {
get {
parameters("someId".as[String], 'fixedValue ! "requiredValue") { params =>
}
}
},
path(Segment) { extractedValue =>
.....
}
}
}
如果用户使用不正确的查询参数(someId
丢失或fixedValue
不等于value
)结束对/root/path
端点的请求,则该请求将被进一步路由到下一个路由root/Segment
。在这种情况下,extractedValue
将是path
,其将失败并向用户发回由第二个路由处理的错误。
首选的行为是告诉用户他们或者缺少查询参数或者查询参数必须是给定值之一。有什么方法可以确保这种情况发生吗?
如果我将第二条路径移到第一条路径的上方,它将捕获发送的所有请求。
1条答案
按热度按时间x8diyxa71#
如果
get
不匹配,您只需要使用适当的错误代码返回complete
:您可以在回复消息中放入附加信息,但这是非标准的,因此需要客户端知道它。