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"] 是常用的获取传值的方法。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容