您好,登錄后才能下訂單哦!
本篇內(nèi)容介紹了“springboot+vue怎么完成編輯頁面發(fā)送接口請求功能”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!
今天另一個重點是重做了編輯頁發(fā)送接口請求的后端功能。這個功能重構(gòu)之前是有的,但是現(xiàn)在我覺得之前那些做兼容不夠。
因為我最近在工作中接入飛書的一些開放API,發(fā)現(xiàn)存在一些接口的入?yún)⑹墙M合來的,比如 post 請求中,既有查詢參數(shù),也有請求體。
于是我重新梳理一下,盡量支持了各種參數(shù)組合:
不帶任何參數(shù)
只有 param 查詢參數(shù)
只有 rest 路徑參數(shù)
只有 body 參數(shù)
同時 param + body
同時 rest + body
請求方法的話,暫時還是先支持 get 與 post 這2種最常見的。最后,把各種判斷情況分支都走了一遍,確認沒啥問題。
接下來記錄下功能的實現(xiàn)。思路很簡單:
一些必要參數(shù)的獲取與處理不同請求方法的判斷進一步判斷不同的參數(shù)組合情況,來進行發(fā)送http接口的處理。
用的 http 客戶端是hutool
框架的,代碼位置在項目的這里,93行往后。
首先,主方法前面處理一些必要的入?yún)⑿畔?,比?method、header、以及獲取表單里的參數(shù)。
接下來進入到請求方法的判斷,然后進一步判斷目前前端提交過來的各種類型的參數(shù)情況,這里抽出去寫了 2 個判空的方法。
以 get 方法為例,現(xiàn)在我可以判斷出實際提交來的參數(shù)都有誰。
判斷出參數(shù)類型,就可以針對性處理了,這里最麻煩的就是 rest 路徑參數(shù)的處理,我前端提交來的路徑參數(shù)是用花括號包著的{name}
,所以要對url重新處理一下。
拼接完成后,就可以直接發(fā)起請求了。
這里要注意的是,在hutool
的 http 客戶端中,我入?yún)⑹褂?code>body()的時候會把form()
的參數(shù)覆蓋掉,所以在處理請求體參數(shù)組合的情況下,只能把查詢參數(shù)或者路徑參數(shù),都處理在請求 url 上。比如,這里是為了處理param+body
的組合,手動把param
參數(shù)拼接到 url 上。
其他就沒什么特別的了,在 post 中我覺得沒必要支持那么多種情況,所以只兼容了 3 種情況。
目前只是一個功能實現(xiàn)的訴求,還缺少一些異常的處理,后續(xù)慢慢補上。接下來會繼續(xù)新功能的開發(fā),過程中也會帶著改一些我記錄下來的 bug 。
“springboot+vue怎么完成編輯頁面發(fā)送接口請求功能”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。