Vapor實戰4 —Request

服務端拿到的客戶端請求都是 Request 類型,它是框架 HTTP 里面的一個類。

一個 Request 實例,包好以下幾個基本屬性:

public var method: Method
public var uri: URI
public var parameters: Node
public var headers: [HeaderKey: String]
public var body: Body
public var data: Content

Vapor支持的 HTTP 請求方法包括:

public enum Method {
    case delete
    case get
    case head
    case post
    case put
    case connect
    case options
    case trace
    case patch
    case other(method: String)
}

URI

例如一個HTTP請求:https://www.google.com/search?query=vapor#fragments
它對應的屬性的值如下:

let scheme = request.uri.scheme;  // https
let host = request.uri.host;      // www.google.com
let path = request.uri.path;      // /search
let query = request.uri.query;    // query=vapor
let fragment = request.uri.fragment;  // fragments

Headers

可以通過 request.headers["key"] 來獲取對應的請求頭部信息,例如:

let contentType = request.headers["Content-Type"];
let token = request.headers["Authorization"];

請求體

拿到客戶端傳過來的值有多種方法,可以是:

 - request.data["key"]
 - request.query?["key"]
 - request.parameters["key"]
 - request.body
 - request.json["key"]

request.data["key"] 是常用的獲取傳值的方法。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容