中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

哪種源碼做視頻網(wǎng)站好用知乎軟文推廣

哪種源碼做視頻網(wǎng)站好用,知乎軟文推廣,蘇州網(wǎng)站建設(shè)及推廣,wordpress 找不到網(wǎng)頁(yè)云原生學(xué)習(xí)路線導(dǎo)航頁(yè)(持續(xù)更新中) 本文是golang語(yǔ)言學(xué)習(xí)系列,本篇對(duì)Gin框架的基本使用方法進(jìn)行學(xué)習(xí) 1.Gin框架是什么 Gin 是一個(gè) Go (Golang) 編寫(xiě)的輕量級(jí) http web 框架,運(yùn)行速度非???amp;#xff0c;如果你是性能和高效的追求者…

云原生學(xué)習(xí)路線導(dǎo)航頁(yè)(持續(xù)更新中)

本文是golang語(yǔ)言學(xué)習(xí)系列,本篇對(duì)Gin框架的基本使用方法進(jìn)行學(xué)習(xí)

1.Gin框架是什么

  • Gin 是一個(gè) Go (Golang) 編寫(xiě)的輕量級(jí) http web 框架,運(yùn)行速度非???#xff0c;如果你是性能和高效的追求者
  • Gin 最擅長(zhǎng)的就是 Api 接口的高并發(fā),如果項(xiàng)目的規(guī)模不大,業(yè)務(wù)相對(duì)簡(jiǎn)單,這個(gè)時(shí)候我們也推薦您使用 Gin
  • Gin 的官網(wǎng):https://gin-gonic.com/zh-cn/
  • Gin 官方文檔地址:https://gin-gonic.com/zh-cn/docs/
    • 有中文文檔,可以直接看文檔學(xué)習(xí)
  • Github 地址:https://github.com/gin-gonic/gin

2.Gin框架快速入門(mén)

2.1.快速入門(mén)

  • 有一篇博客寫(xiě)的非常詳細(xì),直接看這個(gè)入門(mén)就行
    • Golang gin框架
  • 按照上面博客學(xué)習(xí)過(guò)程中,可能遇到的疑問(wèn),寫(xiě)在 2.2 中

2.2.學(xué)習(xí)上面博客可能遇到的問(wèn)題

2.2.1.Json和JsonP的區(qū)別

  • JSON(JavaScript Object Notation)和JSONP(JSON with Padding)是兩種用于在網(wǎng)絡(luò)上傳輸數(shù)據(jù)的格式,二者區(qū)別如下。
  • JSON(JavaScript Object Notation)
    • JSON 是一種數(shù)據(jù)格式,用于在不同的系統(tǒng)之間傳輸數(shù)據(jù)。
    • JSON 是純文本,易于閱讀和編寫(xiě),也易于解析和生成。
    • JSON 數(shù)據(jù)可以表示為對(duì)象、數(shù)組、字符串、數(shù)字、布爾值和 null。
    • JSON 數(shù)據(jù)格式不支持跨域請(qǐng)求。
  • JSONP(JSON with Padding)
    • JSONP 是 JSON 的一種“使用模式”,用于解決跨域請(qǐng)求的問(wèn)題。
    • JSONP 實(shí)際上是在 JSON 數(shù)據(jù)周?chē)艘粋€(gè)函數(shù)調(diào)用,這個(gè)函數(shù)名由客戶端指定。
      • JSONP的請(qǐng)求,客戶端需要在url后使用 ? 指定一個(gè) callback 查詢參數(shù)
      • 因此,在上面的博客中,jsonp請(qǐng)求的響應(yīng),會(huì)被客戶端傳入的callback包裹起來(lái),形成callback調(diào)用
    • JSONP 的工作原理是通過(guò)動(dòng)態(tài)創(chuàng)建 <script> 標(biāo)簽,將請(qǐng)求發(fā)送到另一個(gè)域上的 JSONP 服務(wù)端點(diǎn),并且該服務(wù)端點(diǎn)返回的數(shù)據(jù)已經(jīng)包含在了指定的函數(shù)調(diào)用中。
    • JSONP 允許在不同域之間進(jìn)行數(shù)據(jù)交換,繞過(guò)了瀏覽器的同源策略限制。
  • 總結(jié)
    • JSON 是一種數(shù)據(jù)格式,而 JSONP 則是使用 JSON 數(shù)據(jù)進(jìn)行跨域請(qǐng)求的一種技術(shù)
    • JSONP 通常用于處理由瀏覽器的同源策略引起的限制,允許在不同域之間進(jìn)行數(shù)據(jù)交換

2.2.2.HTML模板渲染講的不清楚

  • html渲染,上面博客說(shuō)的不清楚,建議看官方文檔:
    • https://gin-gonic.com/zh-cn/docs/examples/html-rendering/

2.2.3.請(qǐng)求參數(shù)綁定結(jié)構(gòu)體重點(diǎn)

  • 標(biāo)記的使用

    • url后使用?傳遞的查詢參數(shù)、請(qǐng)求體為"user=123&password=456"這種格式的body,需要結(jié)構(gòu)體設(shè)置 form 才可以使用 gin 的自動(dòng)綁定
      type Userinfo struct {Username string `form:"user"`Password string `form:"password"`
      }
      
    • 不過(guò)現(xiàn)在的post請(qǐng)求,請(qǐng)求體為 “application/json”,結(jié)構(gòu)體設(shè)置json標(biāo)記可選
      // 設(shè)置json,需要按照json標(biāo)記來(lái),可以綁定 {"user": "123", "pwd": "456"}
      type Userinfo struct {Username string `json:"user"`Password string `json:"pwd"`
      }// 沒(méi)有設(shè)置json,則請(qǐng)求體需要和屬性名一致,可以綁定 {"username": "123", "password": "456"}
      type Userinfo struct {Username string `form:"user"`Password string `form:"pwd"`
      }
      
    • 路徑參數(shù),需要使用uri參數(shù)
      // 接口可以是 */:user/:pwd
      type Userinfo struct {Username string `uri:"user"`Password string `uri:"pwd"`
      }
      
    • Header 頭信息綁定,需要使用header參數(shù)
  • gin.Context 的綁定方法使用

    • 我們用的最多的綁定方法是 c.ShouldBind(),可以根據(jù)req的Context-Type自動(dòng)推斷要綁定的類型
    • 不過(guò) gin.Context 為 很多類型編寫(xiě)了綁定方法,如果你明確知道前端穿過(guò)來(lái)的數(shù)據(jù)是什么格式,可以直接使用這些方法
      在這里插入圖片描述
    • 可以看到,gin.Context有兩個(gè)系列方法,Bindxxx和ShouldBindxxx方法,二者區(qū)別如下
      • Bind 系列方法:
        • Bind系列方法在綁定失敗時(shí)會(huì)直接將錯(cuò)誤信息發(fā)送給客戶端,并終止請(qǐng)求處理。
        • 這意味著如果綁定失敗,客戶端將收到一個(gè)包含錯(cuò)誤信息的響應(yīng),并且請(qǐng)求處理將不會(huì)繼續(xù)進(jìn)行。
      • ShouldBind 系列方法:
        • ShouldBind系列方法在綁定失敗時(shí)不會(huì)立即將錯(cuò)誤信息發(fā)送給客戶端,而是將錯(cuò)誤信息存儲(chǔ)在上下文中。
        • 這使得開(kāi)發(fā)者可以根據(jù)實(shí)際情況自定義錯(cuò)誤處理邏輯,例如返回特定的錯(cuò)誤響應(yīng)、記錄錯(cuò)誤日志等。
        • 開(kāi)發(fā)者可以通過(guò)檢查上下文中的錯(cuò)誤信息來(lái)判斷綁定是否成功,并根據(jù)需要采取進(jìn)一步的行動(dòng)。
  • 更詳細(xì)的用法,可以學(xué)習(xí):

    • Gin 框架學(xué)習(xí)筆記(02)— 參數(shù)自動(dòng)綁定到結(jié)構(gòu)體
    • Go學(xué)習(xí)第十五章——Gin參數(shù)綁定bind與驗(yàn)證器

2.2.4.gin.Context.Abort()方法

  • gin路由注冊(cè)時(shí),參數(shù)可以填多個(gè)中間件+一個(gè)處理函數(shù)
    • 其中參數(shù)位置,gin的中間件,必須放在 處理函數(shù) 前面
    • gin的中間件,使用 c.Next 控制是請(qǐng)求到達(dá)時(shí)執(zhí)行,還是請(qǐng)求返回時(shí)執(zhí)行
  • c.Abort 執(zhí)行后
    • 當(dāng)前中間件的后續(xù)語(yǔ)句,還會(huì)執(zhí)行
    • 但是 c.Next 失效了,后面的中間件和最后的處理函數(shù),都不會(huì)再執(zhí)行
    • 執(zhí)行完當(dāng)前中間件,請(qǐng)求就返回了
    • 如下面代碼,程序會(huì)輸出 1111111111handle time,但是不會(huì)輸出 2222222222
    func CalTimeMiddleWare(c *gin.Context) {start := time.Now()c.Abort()log.Info("1111111111")c.Next()log.Infof("handle time is [%d]", time.Since(start).Nanoseconds())
    }func MiddleWare2(c *gin.Context) {log.Info("2222222222")
    }adminRouter.GET("/users", middleware.CalTimeMiddleWare, middleware.MiddleWare2, controller.NewAdminController().List)
    

2.2.5.使用gin進(jìn)行文件上傳

  • 上面的博客里,沒(méi)有寫(xiě)gin上傳文件的內(nèi)容
  • 可以直接看 官方文檔的內(nèi)容,寫(xiě)的很詳細(xì)
  • 上傳單文件:
    • https://gin-gonic.com/zh-cn/docs/examples/upload-file/single-file/
  • 上傳多文件:
    • https://gin-gonic.com/zh-cn/docs/examples/upload-file/multiple-file/

2.2.6.gin獲取cookie

  • gin.Context.Cookie(“key1”)方法,獲取cookie中鍵為key1的值
  • 比如下面,c.Cookie(“key1”) 得到的值就是 value1
    curl --location 'http://localhost:8080/admin/users' \
    --header 'Cookie: key1=value1; key2=value2'
    
  • go代碼寫(xiě)法
    v, err := c.Cookie("key1")
    if err != nil {log.Warnf("don't find cookie in [%s]", c.Request.URL.Path)
    }
    c.Set("key1", v)
    
http://m.risenshineclean.com/news/33492.html

相關(guān)文章:

  • 一臺(tái)電腦主機(jī)做網(wǎng)站國(guó)際新聞最新消息十條
  • 怎么做類似清風(fēng)dj網(wǎng)站自己做一個(gè)網(wǎng)站
  • 互聯(lián)網(wǎng)信息服務(wù)許可證做優(yōu)化關(guān)鍵詞
  • 開(kāi)遠(yuǎn)市住房和城鄉(xiāng)建設(shè)局網(wǎng)站網(wǎng)絡(luò)營(yíng)銷的特點(diǎn)主要包括什么
  • 小程序官方開(kāi)發(fā)文檔沈陽(yáng)企業(yè)網(wǎng)站seo公司
  • wordpress配置cdn緩存規(guī)則博客可以做seo嗎
  • 怎么用python做網(wǎng)站網(wǎng)絡(luò)運(yùn)營(yíng)工作內(nèi)容
  • 廣東兩學(xué)一做考試網(wǎng)站今天的病毒感染情況
  • 有趣的網(wǎng)站設(shè)計(jì)最新百度關(guān)鍵詞排名
  • 深圳住建網(wǎng)站專業(yè)網(wǎng)絡(luò)推廣機(jī)構(gòu)
  • 電腦個(gè)人網(wǎng)站怎么做外貿(mào)建站
  • 做天貓還是做網(wǎng)站推廣怎么開(kāi)通百度推廣賬號(hào)
  • 重慶設(shè)計(jì)公司網(wǎng)站宣傳營(yíng)銷方式有哪些
  • 深圳企業(yè)網(wǎng)站制作公司怎樣做運(yùn)營(yíng)需要具備什么能力
  • html電子商務(wù)網(wǎng)站模板下載網(wǎng)絡(luò)平臺(tái)怎么推廣
  • 鶴壁網(wǎng)站推廣公司seo資訊網(wǎng)
  • 品牌網(wǎng)站建設(shè) 杭州外貿(mào)seo優(yōu)化
  • 上海石化有做網(wǎng)站設(shè)計(jì)的嗎專業(yè)代寫(xiě)軟文
  • 適合女生做的網(wǎng)站清遠(yuǎn)seo
  • 優(yōu)化教程網(wǎng)站推廣排名搜索引擎優(yōu)化實(shí)訓(xùn)報(bào)告
  • 韓國(guó)購(gòu)物網(wǎng)站網(wǎng)站流量統(tǒng)計(jì)分析報(bào)告
  • 租賃服務(wù)器的網(wǎng)站網(wǎng)上培訓(xùn)課程平臺(tái)
  • 快速網(wǎng)站建設(shè)價(jià)格百度指數(shù)官網(wǎng)查詢
  • 網(wǎng)站建設(shè)哪家好萬(wàn)維科技推廣軟件賺錢(qián)違法嗎
  • mi2設(shè)計(jì)公司網(wǎng)站2345網(wǎng)止導(dǎo)航
  • 網(wǎng)站后臺(tái)被百度蜘蛛抓取百度沒(méi)有排名的點(diǎn)擊軟件
  • wap手機(jī)網(wǎng)站制作域名注冊(cè)查詢網(wǎng)站
  • 網(wǎng)站開(kāi)發(fā)有哪些模塊網(wǎng)站怎樣被百度收錄
  • wordpress 架站 電子書(shū)百度網(wǎng)盤(pán)下載速度
  • 四川華泰建設(shè)集團(tuán)網(wǎng)站網(wǎng)絡(luò)營(yíng)銷渠道策略有哪些