NodeJs 后端開(kāi)發(fā) 04 使用axios調(diào)用第三方服務(wù)API

      網(wǎng)友投稿 1072 2025-04-06

      目錄


      當(dāng)我們需要訪(fǎng)問(wèn)其他服務(wù)的接口有什么JS庫(kù)可以使用呢?

      先看文檔,直接打開(kāi)Axios Github

      編寫(xiě)Axios HelloWorld

      創(chuàng)建一個(gè)新的nodejs項(xiàng)目,引入axios包:

      NodeJs 后端開(kāi)發(fā) 04 使用axios調(diào)用第三方服務(wù)API

      發(fā)送請(qǐng)求前需要啟動(dòng)商品服務(wù)

      發(fā)送一個(gè)GET請(qǐng)求

      發(fā)送一個(gè)POST請(qǐng)求,模擬添加商品數(shù)據(jù)

      在我們開(kāi)發(fā)后端服務(wù)的過(guò)程中,我們除了開(kāi)發(fā)當(dāng)前服務(wù)的數(shù)據(jù)接口之外,避免不了需要調(diào)用外部服務(wù)接口(一個(gè)或者多個(gè)服務(wù)的API)

      前篇我寫(xiě)了一個(gè)基于Restify實(shí)現(xiàn)的CRUD的商品管理服務(wù):https://blog.csdn.net/geeklevin/article/details/109403172,Restify可以幫我們快速的編寫(xiě)服務(wù)接口。

      當(dāng)我們需要訪(fǎng)問(wèn)其他服務(wù)的接口有什么JS庫(kù)可以使用呢?

      回看Restify文檔,它本身有Restify Client這個(gè)組件,可以幫助開(kāi)發(fā)者實(shí)現(xiàn)對(duì)站外服務(wù)的調(diào)用。

      http://restify.com/docs/client-guide/

      不過(guò)這里我們會(huì)使用axios這個(gè)庫(kù)來(lái)進(jìn)行外部服務(wù)的調(diào)用,這個(gè)庫(kù)很火,很多前端同學(xué)在開(kāi)發(fā)React/Vue前端模塊的時(shí)候經(jīng)常會(huì)用到。

      先看文檔,直接打開(kāi)Axios Github

      直接看:https://github.com/axios/axios

      或者 (中文友好 http://www.axios-js.com/zh-cn/docs/ )

      編寫(xiě)Axios HelloWorld

      創(chuàng)建一個(gè)新的nodejs項(xiàng)目,引入axios包:

      #跟當(dāng)前文章同個(gè)版本

      npm install axios@0.20.0

      發(fā)送請(qǐng)求前需要啟動(dòng)商品服務(wù)

      https://blog.csdn.net/geeklevin/article/details/109403172

      發(fā)送一個(gè)GET請(qǐng)求

      const axios = require('axios'); //外站接口 const api = 'http://localhost:8080/products'; //axios通過(guò)提供對(duì)應(yīng)HTTP請(qǐng)求方法,實(shí)現(xiàn)GET/POST/PUT 等對(duì)應(yīng)的請(qǐng)求發(fā)送 // 這里調(diào)用對(duì)/products接口的GET方法,獲取產(chǎn)品 axios.get(api) .then(function (response) { //這里獲得整個(gè)請(qǐng)求響應(yīng)對(duì)象 console.log(response); //獲取商品數(shù)據(jù)只需要調(diào)用: response.data }) .catch(function (error) { console.log(error); }) .then(function () { });

      上面代碼保存為 getProducts.js, 執(zhí)行下面命令運(yùn)行,效果如下:

      node getProducts

      通過(guò)查看console輸出的整個(gè)response對(duì)象,接口數(shù)據(jù)可以通過(guò)response.data來(lái)獲取,進(jìn)一步簡(jiǎn)化可以改成下面代碼:

      const axios = require('axios'); //外站接口 const api = 'http://localhost:8080/products'; // 編寫(xiě)進(jìn)行處理產(chǎn)品數(shù)據(jù)的業(yè)務(wù)代碼 const handleOnData = (data) => { console.log('get data', data); } // 這里調(diào)用對(duì)/products接口的GET方法,獲取產(chǎn)品 axios .get(api) .then(function (response) { handleOnData(response.data); }) .catch(function (error) { console.log(error); });

      發(fā)送一個(gè)POST請(qǐng)求,模擬添加商品數(shù)據(jù)

      其他請(qǐng)求類(lèi)似,這里只是快速展示了axios這個(gè)組件的使用。

      項(xiàng)目代碼參考:https://codechina.csdn.net/geeklevin/nodejs-api-004-call-other-service

      API

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶(hù)投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶(hù)投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:excel保護(hù)公式設(shè)置的方法
      下一篇:如何修改wps文本中的最近文檔數(shù)
      相關(guān)文章
      中文有码亚洲制服av片| 亚洲日本一区二区三区在线| 亚洲人精品午夜射精日韩| 亚洲第一综合天堂另类专| 亚洲女人18毛片水真多| 亚洲综合在线成人一区| 亚洲理论片在线中文字幕| 亚洲精品在线电影| 亚洲欧洲校园自拍都市| 久久精品国产亚洲AV大全| 亚洲色图在线观看| 亚洲美女人黄网成人女| 亚洲人成影院在线高清| 亚洲成a人片在线观看精品| 亚洲人成网男女大片在线播放| 亚洲五月综合缴情婷婷| 亚洲无人区码一二三码区别图片| 亚洲精品国产首次亮相| 亚洲精品高清视频| 亚洲第一页中文字幕| 亚洲激情视频网站| 日韩亚洲产在线观看| 亚洲人成网站在线在线观看| 亚洲av永久中文无码精品综合 | 国产精品久久久久久亚洲小说 | 久久精品国产亚洲av高清漫画| 国产成人A人亚洲精品无码| 久久精品亚洲中文字幕无码网站 | WWW亚洲色大成网络.COM| 亚洲国产精品张柏芝在线观看| 亚洲校园春色另类激情| 国产精品亚洲lv粉色| 亚洲日韩中文在线精品第一 | 国产成+人+综合+亚洲专| 亚洲爆乳大丰满无码专区| 亚洲AV无码一区二三区| 国产亚洲人成A在线V网站| 精品国产人成亚洲区| 久久亚洲中文字幕精品一区四| 亚洲国产日韩在线视频| 久久亚洲精精品中文字幕|