欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

如何通過node.js來寫接口詳解

 更新時(shí)間:2022年09月09日 09:07:11   作者:stars滿天繁星  
最近研究了一下nodejs寫接口,發(fā)現(xiàn)接口并不難寫,這篇文章主要給大家介紹了關(guān)于如何通過node.js來寫接口的相關(guān)資料,文中通過實(shí)例代碼和圖文介紹的非常詳細(xì),需要的朋友可以參考下

前言

如果要通過node.js來寫接口的話,首先我們需要借助一個(gè)框架--express,這個(gè)框架可以幫助我們快速的創(chuàng)建web服務(wù)器,所以我們需要通過npm下載這個(gè)包。

express寫get接口

// 引入express
const express = require('express')
// 調(diào)用express()
const app = express()
 
// 設(shè)置請(qǐng)求對(duì)應(yīng)的處理函數(shù)--當(dāng)客戶端以get方法請(qǐng)求,
//請(qǐng)求地址后面需要加/getbooks才能訪問到響應(yīng)后的數(shù)據(jù)
//app.get('/getbooks')相當(dāng)于添加事件監(jiān)聽,當(dāng)用戶以get方法請(qǐng)求時(shí),地址后面需要跟/getbooks,后面的回調(diào)函數(shù)才會(huì)執(zhí)行
app.get('/getbooks', function (request, response) {
  let books = {
    "status": 200,
    "msg": "獲取圖書列表成功",
    "data": [
      {
        "id": 1,
        "bookname": "西游記",
        "author": "吳承恩",
        "publisher": "北京圖書出版社"
      },
      {
        "id": 2,
        "bookname": "紅樓夢(mèng)",
        "author": "曹雪芹",
        "publisher": "上海圖書出版社"
      },
      {
        "id": 3,
        "bookname": "三國(guó)演義",
        "author": "羅貫中",
        "publisher": "北京圖書出版社"
      }
    ]
  }
//response.send是express框架提供的方法,相當(dāng)于結(jié)束本次請(qǐng)求。
  response.send(books)
})
 
// 監(jiān)聽端口,啟動(dòng)web服務(wù)
app.listen(8000, function () {
  console.log('app listening on port 8000!')
})

通過localhost:8000/getbooks成為訪問到數(shù)據(jù)。

此上,我們便簡(jiǎn)單的實(shí)現(xiàn)了一個(gè)get請(qǐng)求來獲取到接口的數(shù)據(jù)。

express寫post接口--鍵值對(duì)參數(shù)

當(dāng)請(qǐng)求頭中的content-type為x-www-form-urlencoded時(shí),表示上傳的為普通鍵值對(duì)參數(shù)

// 引入express
const express = require('express')
// 調(diào)用express()
const app = express()
 
// 使用中間件--請(qǐng)求的格式為普通鍵值對(duì)格式
app.use(express.urlencoded())
 
// 接口2--post普通鍵值對(duì)格式a=1&b=2
app.post('/addbooks', (request, response) => {
  //request.body發(fā)送的請(qǐng)求的參數(shù)
  console.log('請(qǐng)求返回', request.body)
  //response.send響應(yīng)回來的參數(shù)
  response.send({ a: 1 })
})

因?yàn)檫@里我們是通過post請(qǐng)求傳遞參數(shù)的,所以這里我們不能繼續(xù)向上面的get請(qǐng)求一樣通過地址欄測(cè)試了,這里我會(huì)借助一個(gè)測(cè)試接口的工具來進(jìn)行測(cè)試,用到的工具是--apifox。

這里我們直接發(fā)送請(qǐng)求,我們會(huì)向后端發(fā)送兩個(gè)參數(shù),下面是得到響應(yīng)后的參數(shù)

我們?nèi)サ叫『诖翱梢钥匆姲l(fā)送來的請(qǐng)求參數(shù)

express寫post接口--json格式的參數(shù)

// 引入express
const express = require('express')
// 調(diào)用express()
const app = express()
 
// 會(huì)自動(dòng)加入req.body屬性,這個(gè)屬性中就包含了post請(qǐng)求所傳入的參數(shù),格式為json格式
app.use(express.json())
 
// 接口3--post-json格式
app.post('/add-json', (request, response) => {
  console.log('請(qǐng)求返回', request.body)
  response.send({ "name": "xxx" })
})

這里我們依舊會(huì)加入一個(gè)中間件來得到請(qǐng)求的參數(shù)。

測(cè)試接口

express寫post接口--form-data文件上傳

// 引入express
const express = require('express')
// 調(diào)用express()
const app = express()
 
// 引入包
const multer = require('multer');
// 配置
// uploads表示一個(gè)目錄名,你也可以設(shè)置成其它的
const upload = multer({ dest: 'uploads/' }) // 上傳的文件會(huì)保存在這個(gè)目錄下
 
// 接口4--通過post請(qǐng)求進(jìn)行文件的上傳
app.post('/add-file', upload.single('img'), (request, response) => {
  console.log(request.body)
  console.log(request.file)
  response.send({ name: "小紅" })
})

測(cè)試接口

響應(yīng)的參數(shù)

總結(jié) 

到此這篇關(guān)于如何通過node.js來寫接口的文章就介紹到這了,更多相關(guān)node.js寫接口內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • npm?install安裝過程報(bào)錯(cuò)的實(shí)用解決辦法

    npm?install安裝過程報(bào)錯(cuò)的實(shí)用解決辦法

    最近做項(xiàng)目遇到npm install 的問題,下面這篇文章主要給大家介紹了關(guān)于npm?install安裝過程報(bào)錯(cuò)的實(shí)用解決辦法,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-06-06
  • nodejs實(shí)現(xiàn)大文件(在線視頻)的讀取

    nodejs實(shí)現(xiàn)大文件(在線視頻)的讀取

    這篇文章主要為大家詳細(xì)介紹了nodejs實(shí)現(xiàn)大文件的讀取,比如在線視頻,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • 深入解析koa之異步回調(diào)處理

    深入解析koa之異步回調(diào)處理

    這篇文章主要介紹了深入解析koa之異步回調(diào)處理,我們研究一下koa當(dāng)中異步回調(diào)同步化寫法的原理,同樣的,我們也會(huì)實(shí)現(xiàn)一個(gè)管理函數(shù),是的我們能夠通過同步化的寫法來寫異步回調(diào)函數(shù)。,需要的朋友可以參考下
    2019-06-06
  • node.js中的buffer.slice方法使用說明

    node.js中的buffer.slice方法使用說明

    這篇文章主要介紹了node.js中的buffer.slice方法使用說明,本文介紹了buffer.slice的方法說明、語(yǔ)法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • nodejs中的express-jwt的使用解讀

    nodejs中的express-jwt的使用解讀

    這篇文章主要介紹了nodejs中的express-jwt的使用解讀,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • Nodejs實(shí)現(xiàn)圖片上傳、壓縮預(yù)覽、定時(shí)刪除功能

    Nodejs實(shí)現(xiàn)圖片上傳、壓縮預(yù)覽、定時(shí)刪除功能

    本文分步驟給大家介紹了Nodejs實(shí)現(xiàn)圖片的上傳、壓縮預(yù)覽、定時(shí)刪除功能,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-10-10
  • nodejs URL模塊操作URL相關(guān)方法介紹

    nodejs URL模塊操作URL相關(guān)方法介紹

    這篇文章主要介紹了nodejs URL模塊操作URL相關(guān)方法介紹,本文講解了parse方法、format方法、querystring方法等,需要的朋友可以參考下
    2015-03-03
  • node koa2 ssr項(xiàng)目搭建的方法步驟

    node koa2 ssr項(xiàng)目搭建的方法步驟

    這篇文章主要介紹了node koa2 ssr項(xiàng)目搭建的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • nodejs搭建本地http服務(wù)器教程

    nodejs搭建本地http服務(wù)器教程

    本篇文章主要介紹了nodejs搭建本地http服務(wù)器教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
    2017-03-03
  • NestJS開發(fā)核心概念Providers類基本用法詳解

    NestJS開發(fā)核心概念Providers類基本用法詳解

    這篇文章主要為大家介紹了NestJS開發(fā)核心概念Providers類基本用法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08

最新評(píng)論