您好,登錄后才能下訂單哦!
這篇文章將為大家詳細(xì)講解有關(guān)beego中context的上下文模塊是什么,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。
針對(duì) HTTP 請(qǐng)求中,request (Input)和 response (Output)的進(jìn)一步封裝。context 對(duì)象是對(duì) Input 和 Output 的封裝。
具體方法如下:
Protocol 獲取用戶請(qǐng)求的協(xié)議,例如 HTTP/1.0
Uri 用戶請(qǐng)求的 RequestURI,例如 /hi?id=1001
Url 請(qǐng)求的 URL 地址,例如 /hi
Site 請(qǐng)求的站點(diǎn)地址,scheme+doamin 的組合,例如 http://beego.me
Scheme 請(qǐng)求的 scheme,例如 "http" 或者 "https"
Domain 請(qǐng)求的域名,例如 beego.me
Host 請(qǐng)求的域名,和 domain 一樣
Method 請(qǐng)求的方法,標(biāo)準(zhǔn)的 HTTP 請(qǐng)求方法法,例如 GET 、 POST 等
Is 判斷是否是某一個(gè)方法,例如 Is("GET") 返回 true
IsAjax 判斷是否是 AJAX 請(qǐng)求,如果是返回 true,不是返回 false
IsSecure 判斷當(dāng)前請(qǐng)求是否 HTTPS 請(qǐng)求,是返回 true,否返回 false
IsWebsocket 判斷當(dāng)前請(qǐng)求是否 Websocket 請(qǐng)求,如果是返回 true,否返回 false
IsUpload 判斷當(dāng)前請(qǐng)求是否有文件上傳,有返回 true,否返回 false
IP 返回請(qǐng)求用戶的 IP,如果用戶通過代理,一層一層剝離獲取真實(shí)的 IP
Proxy 返回用戶代理請(qǐng)求的所有 IP
Refer 返回請(qǐng)求的 refer 信息
SubDomains 返回請(qǐng)求域名的根域名,例如請(qǐng)求是 blog.beego.me ,那么調(diào)用該函數(shù)返回 beego.me
Port 返回請(qǐng)求的端口,例如返回 8080
UserAgent 返回請(qǐng)求的 UserAgent ,例如 Mozilla/5.0 (Macintosh; Intel Mac OSX 10_9_0) AppleWebKit/537.36 (KHTML, like Gecko)Chrome/31.0.1650.57 Safari/537.36
Param 在路由設(shè)置的時(shí)候可以設(shè)置參數(shù),這個(gè)是用來獲取那些參數(shù)的,例如Param(":id") ,返回12
Query 該函數(shù)返回 Get 請(qǐng)求和 Post 請(qǐng)求中的所有數(shù)據(jù),和 PHP 中$_REQUEST 類似
Header 返回相應(yīng)的 header 信息,例如 Header("Accept-Language") ,就返回請(qǐng)求頭中對(duì)應(yīng)的信息 zh-CN,zh;q=0.8,en;q=0.6
Cookie 返回請(qǐng)求中的 cookie 數(shù)據(jù),例如 Cookie("username") ,就可以獲取請(qǐng)求頭中攜帶的 cookie 信息中 username 對(duì)應(yīng)的值
Session session 是用戶可以初始化的信息,默認(rèn)采?用了 beego 的 session 模塊中的 Session 對(duì)象,用來獲取存儲(chǔ)在服務(wù)器端中的數(shù)據(jù)。
Body 返回請(qǐng)求 Body 中數(shù)據(jù),例如 API 應(yīng)用中,很多用戶直接發(fā)送 json 數(shù)據(jù)包,那么通過 Query 這種函數(shù)無法獲取數(shù)據(jù),就必須通過該函數(shù)獲取數(shù)據(jù)。該函數(shù)已經(jīng)beego1.5版本之后刪除,目前可以通過RequestBody獲取數(shù)據(jù)。
GetData 用來獲取 Input 中 Data 中的數(shù)據(jù)
SetData 用來設(shè)置 Input 中 Data 的值,上面 GetData 和這個(gè)函數(shù)都是用來方便用戶在 Filter 中傳遞數(shù)據(jù)到 Controller 中來執(zhí)行
Output 是針對(duì) Response 的封裝,里面提供了很多方便的用法:
Header 設(shè)置輸出的 header 信息,例如 Header("Server","beego")
Body 設(shè)置輸出的內(nèi)容信息,例如 Body([]byte("astaxie"))
Cookie 設(shè)置輸出的 cookie 信息,例如Cookie("sessionID","beegoSessionID")
Json 把 Data 格式化為 Json,然后調(diào)用 Body 輸出數(shù)據(jù)
Jsonp 把 Data 格式化為 Jsonp,然后調(diào)用 Body 輸出數(shù)據(jù)
Xml 把 Data 格式化為 Xml,然后調(diào)用 Body 輸出數(shù)據(jù)
Download 把 file 路徑傳遞進(jìn)來,然后輸出文件給用戶
ContentType 設(shè)置輸出的 ContentType
SetStatus 設(shè)置輸出的 status
Session 設(shè)置在服務(wù)器端保存的值,例如 Session("username","astaxie") ,這樣用戶就可以在下次使用的時(shí)候讀取
IsCachable 根據(jù) status 判斷,是否為緩存類的狀態(tài)
IsEmpty 根據(jù) status 判斷,是否為輸出內(nèi)容為空的狀態(tài)
IsOk 根據(jù) status 判斷,是否為 200 的狀態(tài)
IsSuccessful 根據(jù) status 判斷,是否為正常的狀態(tài)
IsRedirect 根據(jù) status 判斷,是否為跳轉(zhuǎn)類的狀態(tài)
IsForbidden 根據(jù) status 判斷,是否為禁用類的狀態(tài)
IsNotFound 根據(jù) status 判斷,是否為找不到資源類的狀態(tài)
IsClientError 根據(jù) status 判斷,是否為請(qǐng)求客戶端錯(cuò)誤的狀態(tài)
IsServerError 根據(jù) status 判斷,是否為服務(wù)器端錯(cuò)誤的狀態(tài)
關(guān)于beego中context的上下文模塊是什么就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。