国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【go】GIN參數(shù)重復(fù)綁定報(bào)錯(cuò)EOF問(wèn)題

這篇具有很好參考價(jià)值的文章主要介紹了【go】GIN參數(shù)重復(fù)綁定報(bào)錯(cuò)EOF問(wèn)題。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

1 問(wèn)題描述

在 Gin 框架中,當(dāng)多次調(diào)用 ShouldBind() 或 ShouldBindJSON() 方法時(shí),會(huì)導(dǎo)致請(qǐng)求體的數(shù)據(jù)流被讀取多次,從而出現(xiàn) “EOF” 錯(cuò)誤。

例如在api層綁定了參數(shù),又自定義了讀取參數(shù)或綁定參數(shù)的中間件,會(huì)造成重復(fù)調(diào)用。

[ERROR] 2023/08/07 14:36:48 {“user_id”:“975674f531784289bfba3ee011ec0af0”,“trace_id”:“ae6331c69b5d474a8980c6f6ef8b86e2”,“error”:“EOF”,“position”:[{“FileName”:“D:/nscp_code/nscp/api/v1/organization.go”,“FuncName”:“nscp/api/v1.(*origanizationApi).FindByCompanyIds”,“Line”:63}]}

2 解決:替換為ShouldBindBodyWith

// 原本
c.ShouldBindJSON
c.ShouldBind

 // 替換為
c.ShouldBindBodyWith(&req,binding.JSON) 

此時(shí)body 會(huì)cache 到上下文中,重復(fù)綁定不會(huì)有問(wèn)題文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-632208.html

到了這里,關(guān)于【go】GIN參數(shù)重復(fù)綁定報(bào)錯(cuò)EOF問(wèn)題的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Go在安裝Gin時(shí)出現(xiàn)Failed to connect 報(bào)錯(cuò)問(wèn)題的解決方案(已解決)

    Go在安裝Gin時(shí)出現(xiàn)Failed to connect 報(bào)錯(cuò)問(wèn)題的解決方案(已解決)

    ? ? ? ? ? 在命令行中輸入:go get -u github.com/gin-gonic/gin指令安裝Gin第三方包時(shí)出現(xiàn)連接錯(cuò)誤與連接超時(shí)的情況如下:?? ? ? ? ? 在較新版本的Go中引入了全新的包管理機(jī)制,出現(xiàn)上述錯(cuò)誤可能是包管理機(jī)制設(shè)置不恰當(dāng)?shù)膯?wèn)題,嘗試在終端窗口輸入如下命令以更新包的管理機(jī)

    2024年02月10日
    瀏覽(23)
  • Go的gin參數(shù)校驗(yàn)之validator庫(kù)

    使用 validator 以后,只需要在定義結(jié)構(gòu)體時(shí)使用 binding 或 validate tag標(biāo)識(shí)相關(guān)校驗(yàn)規(guī)則,就可以進(jìn)行參數(shù)校驗(yàn)了,而不用自己?jiǎn)为?dú)去寫(xiě)常見(jiàn)的校驗(yàn)規(guī)則。 常用約束如下: 字符串約束 excludesall:不包含參數(shù)中任意的 UNICODE 字符,例如excludesall=ab; excludesrune:不包含參數(shù)表示的

    2024年02月12日
    瀏覽(20)
  • 解決GO安裝gin框架(go get -u github.com/gin-gonic/gin)超時(shí)問(wèn)題

    解決GO安裝gin框架(go get -u github.com/gin-gonic/gin)超時(shí)問(wèn)題

    ??gin框架github地址:https://github.com/gin-gonic/gin ??????? 按照官方文檔安裝gin,但是嘗試了好幾次,包括使用國(guó)內(nèi)網(wǎng)絡(luò)或者使用梯子,都超時(shí)失敗了,爆了如下超時(shí)錯(cuò)誤 ?? 解決方法如下 1、先查看go相關(guān)的配置 如上顯示GOPROXY配置是https://proxy.golang.org,這個(gè)地址已經(jīng)被墻了,

    2024年02月11日
    瀏覽(26)
  • gin自定義中間件解決requestBody不可重復(fù)讀問(wèn)題

    gin自定義中間件解決requestBody不可重復(fù)讀問(wèn)題

    先直接上代碼 注意,上面的中間件,需要在第一個(gè)執(zhí)行。 在gin中,context.Request.Body 是一個(gè)io.ReadCloser的接口,如下圖 查看io.ReadCloser接口定義 我們發(fā)現(xiàn)io.ReaderCloser接口的本質(zhì)就是 Read(p []byte) (n int, err error) 和 Close() error 的組合。 所以我們只需要自己編寫(xiě)實(shí)現(xiàn) Read(p []byte) (n in

    2024年02月01日
    瀏覽(18)
  • gin中關(guān)于參數(shù)注入問(wèn)題

    如果在開(kāi)發(fā)中一旦發(fā)小參數(shù)沒(méi)有按照既定的要求注入到結(jié)構(gòu)體的話(huà),這個(gè)時(shí)候就一定要看請(qǐng)求方式什么?如果是post請(qǐng)求、 前端—post—json{id:1,pageSize:10,page:1}———————————- 參數(shù)注入方法:ShouldBindJSON post + json 傳遞過(guò)來(lái)json參數(shù),post請(qǐng)求的 {page:1,pageSize:10,keyword:“”

    2024年02月12日
    瀏覽(21)
  • Gin框架: 使用go-ini配置參數(shù)與不同環(huán)境下的配置部署

    關(guān)于 INI 配置文件與go-ini 1 )概述 在INI配置文件中可以處理各種數(shù)據(jù)的配置 INI文件是一種簡(jiǎn)單的文本格式,常用于配置軟件的各種參數(shù) go-ini 是地表 最強(qiáng)大、最方便 和 最流行 的 Go 語(yǔ)言 INI 文件操作庫(kù) Github 地址:https://github.com/go-ini/ini 官方文檔: https://ini.unknwon.io/ 使用示例

    2024年02月22日
    瀏覽(32)
  • Gin 應(yīng)用多實(shí)例部署session問(wèn)題、session參數(shù)與刷新

    Gin 應(yīng)用多實(shí)例部署session問(wèn)題、session參數(shù)與刷新

    目錄 一、Gin Session 存儲(chǔ)的實(shí)現(xiàn)方案 二、 memstore :基于內(nèi)存的實(shí)現(xiàn) 2.1 基本使用 2.2 關(guān)鍵參數(shù) 三、使用 redis :多實(shí)例部署 3.1 使用redis優(yōu)勢(shì) 3.2 基本使用 四、信息安全的三個(gè)核心概念 五、Gin Session 參數(shù) 5.1 參數(shù)介紹 六、Session 自動(dòng)刷新 cookie :基于 cookie 的實(shí)現(xiàn),不安全,一般

    2024年02月19日
    瀏覽(24)
  • gin數(shù)據(jù)解析和綁定

    客戶(hù)端傳參,后端接收并解析到結(jié)構(gòu)體 參考文章: https://www.fansimao.com/928784.html https://www.fansimao.com/928797.html https://www.fansimao.com/928805.html

    2024年01月21日
    瀏覽(19)
  • golang微框架Gin

    Gin是一個(gè)golang的微框架,基于httprouter,封裝比較優(yōu)雅,API友好,源碼注釋比較明確,具有快速靈活,容錯(cuò)方便等特點(diǎn) Gin特征 速度快:基于基數(shù)樹(shù)的路由,內(nèi)存占用小,沒(méi)有反射,可預(yù)測(cè)的APi性能 中間件支持 傳入的http請(qǐng)求可以有中間件鏈和最終操作處理,例如:Logger,Aut

    2024年02月09日
    瀏覽(30)
  • [golang gin框架] 39.Gin商城項(xiàng)目-微服務(wù)實(shí)戰(zhàn)之微服務(wù)架構(gòu)

    [golang gin框架] 39.Gin商城項(xiàng)目-微服務(wù)實(shí)戰(zhàn)之微服務(wù)架構(gòu)

    單體架構(gòu)在 中小企業(yè)內(nèi)部 用的是非常多的,當(dāng) 業(yè)務(wù)不復(fù)雜 , 團(tuán)隊(duì)規(guī)模不大 的時(shí)候,單體架構(gòu)比微服務(wù)架構(gòu)具有 更高的生產(chǎn)率 單體架構(gòu) 當(dāng) 業(yè)務(wù)比較復(fù)雜 , 并發(fā)量 比較大, 團(tuán)隊(duì)規(guī)模擴(kuò)大的時(shí)候, 就需要引入微服務(wù)架構(gòu)了,它比單體架構(gòu) 具有 更高的生產(chǎn)率, 可以 節(jié)省成本 , 解

    2024年02月12日
    瀏覽(34)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包