第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何使用 OpenAPI Generator Client SDK 訪問 HTTP 錯(cuò)誤正文

如何使用 OpenAPI Generator Client SDK 訪問 HTTP 錯(cuò)誤正文

Go
至尊寶的傳說 2023-07-10 14:51:02
OpenAPI Generator創(chuàng)建遵循一般模式的 API 函數(shù):func (api *MyAPI) OperationId(context.Context) (ResponseStruct, *http.Response, error)如何在出現(xiàn)錯(cuò)誤時(shí)檢索 HTTP 正文?然而,當(dāng) HTTP 狀態(tài)代碼為錯(cuò)誤時(shí),則error不是nil,但它不包含正文,并且也不包含正文,*http.Response因?yàn)檎囊驯蛔x取。并且,錯(cuò)誤不會(huì)作為成功和失敗定義解組到 ResponseStruct 中。是不同的。
查看完整描述

1 回答

?
萬千封印

TA貢獻(xiàn)1891條經(jīng)驗(yàn) 獲得超3個(gè)贊

生成的客戶端創(chuàng)建一個(gè)mypackage.GenericOpenAPIError結(jié)構(gòu)體,該結(jié)構(gòu)體以 的形式返回error,其中mypackage是客戶端的包名稱。它將 HTTP 錯(cuò)誤主體存儲(chǔ)在GenericOpenAPIError.body可由Body() []byte函數(shù)訪問的屬性中。但是,由于函數(shù)定義返回error不支持該Body()函數(shù)的錯(cuò)誤,因此需要先轉(zhuǎn)換錯(cuò)誤,然后才能訪問它。


以下是從生成的客戶端創(chuàng)建錯(cuò)誤的代碼:


if localVarHttpResponse.StatusCode >= 300 {

    newErr := GenericOpenAPIError{

        body:  localVarBody,

        error: localVarHttpResponse.Status,

    }

要訪問 body 屬性,需要轉(zhuǎn)換錯(cuò)誤。例如:


data, resp, err := myclient.MyAPI.OperationId(context.Background())

if err != nil && resp.StatusCode >= 300 {

    openAPIErr := err.(mypackage.GenericOpenAPIError)

    fmt.Println(string(openAPIErr.Body()))

}

由于需要將其解碼為生成的客戶端包中的結(jié)構(gòu),因此將其作為輔助函數(shù)添加到客戶端包中會(huì)很有用。


查看完整回答
反對(duì) 回復(fù) 2023-07-10
  • 1 回答
  • 0 關(guān)注
  • 115 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)