Vaporドキュメント学習16:ROUTING-Query Parameters

978 ワード

オプション値を返す以外に、リクエストパラメータは辞書としてアクセスしたり、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)"
}

まとめ:簡単に言えば、クエリー・パラメータを使用する2つの方法です.