除了返回可选值外,请求参数可以作为字典来访问,也可以使用extract语法访问。
Optional Syntax
Optional Syntax是处理可选查询参数的最简便的方法。
drop.get("comments") { request in
if let rating = request.query?["rating"]?.int {
return "You requested comments with rating greater than #\(rating)"
}
return "You requested all comments"
}
Extract Syntax
Extract Syntax
在查询参数存在的情况下,有助于强制调用查询参数,在查询参数不存在的情况下则抛出异常。使用Extract Syntax
,必须首先确保查询对象与guard
同时调用。
drop.get("comments") { request in
guard let rating = request.query?["rating"]?.int else {
throw Abort.custom(status: .preconditionFailed, message: "Please include a rating")
}
return "You requested comments with rating greater than #\(rating)"
}
<b>总结:</b>简而言之,就是两种使用查询参数的方法。