Vapor文檔學習三 :JSON

JSON在 Vapor里是不可或缺的,包括Vapor的配置都是采用json的格式,數據請求和數據應答中json也是更加簡便的數據交互方式。

Request

JSON總是會和form-urlencoded dataquery data綁定在一起,并且在 request.data中自動獲取,也就是你可以專注于API的開發,而不必擔心content types的設置。

drop.get("hello") { request in
    guard let name = request.data["name"]?.string else {
        throw Abort.badRequest
    }
    return "Hello, \(name)!"
}

不管是以什么HTTP methodcontent type發送的name,最后都會返回成功。

JSON Only

如果只接收JSON數據,可以使用request.json

drop.post("json") { request in
    guard let name = request.json?["name"]?.string else {
        throw Abort.badRequest
    }

    return "Hello, \(name)!"
}

只有post的數據是json的格式,這個請求才會成功。

Response

對于respondjson數據,可以使用JSON(node: )進行格式化。

drop.get("version") { request in
    return try JSON(node: [
        "version": "1.0"
    ])
}

Middleware(數據交換格式)

JSONMiddlewareDroplet默認的middleware . 如果你不想用JSON語法解析,你可以刪除。

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

推薦閱讀更多精彩內容