最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

nodejs使用Express框架寫后端接口的全過程

 更新時間:2022年05月01日 09:28:38   作者:劉溜溜  
最近學習了基于前后端分離的開發(fā)模式,我前端使用Vue框架,后端使用nodejs開發(fā)API接口,下面這篇文章主要給大家介紹了關于nodejs使用Express框架寫后端接口的相關資料,需要的朋友可以參考下

在寫接口前,我們要明白什么是接口,在前端我們叫接口,而后端就叫路由,這其實是指同一個東西。

路由和接口

路由(Routing)是由一個URL(或者叫路徑標識)和一個特定的HTTP方法(GET、POST等)組成的,涉及到應用如何處理響應客戶端請求。每一個路由都可以有一個或多個處理器函數(shù),當匹配到路由時,這些個函數(shù)將被執(zhí)行。

// 引入express
const express = require('express')
//創(chuàng)建express實例存入變量app ,調用express
const app = express()
// 定義路由
//METHOD:是一個http請求方法;PATH:請求路徑;HANDLER:是當路由匹配到時需要執(zhí)行的處理函數(shù)
app.METHOD(PATH, HANDLER)

接口傳參

我們使用ajax請求向服務器接口傳參,按http協(xié)議的規(guī)定,每個都有三個部分:

  • 請求行:保存了請求方式,地址,可以以查詢字符串的格式附加一部分數(shù)據(jù)。
  • 請求頭:它可以附加很多信息,其中content-type用來約定請求體中保存的數(shù)據(jù)格式。

     content-type常見有三種取值:

image.png

  • 請求體:本次請求攜帶的參數(shù)。至于這些參數(shù)到了后端應該如何解析出來,由請求頭中的content-type來決定。

GET接口

express框架會自動幫我們收集get類型的接口從url地址中傳遞的查詢字符串參數(shù),并自動保存在req對象的query屬性中,我們直接獲取即可。

app.get('/get',(req,res) => {
  // 輸出請求參數(shù)
  console.log(req.query)
  //結束本次響應并返回內容
  res.send('hello world!')
})

POST接口-普通鍵值對

具體來說當請求頭的content-type為x-www-form-urlencoded時,表示上傳的普通簡單鍵值對 。

// 使用中間件獲取普通鍵值對參數(shù)
app.use(express.urlencoded())
app.post('/add',(req,res) => {
  // 輸出請求參數(shù)
  //app.use(....)之后,在res中就會多出一個屬性res.body,里面存放著鍵值對參數(shù)
  console.log(req.body)
  //結束本次響應并返回內容
  res.send("hello world!")
})

POST接口-JSON

在post傳遞參數(shù)時,如果要傳入的參數(shù)比較復雜(多級嵌套),例如表單數(shù)據(jù),則可以使用json格式上傳。

// 使用中間件獲取JSON參數(shù)
app.use(express.json())
app.post('/post-json',(req,res) => {
  // 輸出請求參數(shù)
  console.log(req.body)
  //結束本次響應并返回內容
  res.send("hello world!")
})

POST接口-form-data文件上傳

如果post涉及文件上傳操作,則需要在服務器端額外使用第三方multer這個包(不屬于express)來獲取上傳的信息。

// 引入包
const multer = require('multer')
// 配置 上傳的文件會保存到unloads這個文件夾下
const upload = multer({dest:'unloads/'})
//upload.single表示單文件上傳,cover表示本次上傳的數(shù)據(jù)
app.post('/post-file',upload.single('cover'),(req,res) => {
  // req.file記錄了上傳文件的信息
  console.log(req.file)
  //結束本次響應并返回內容
  res.send({message:"ok"})
})
  • 如果當前目錄下沒有uploads,它會自動創(chuàng)建uploads這個文件夾
  • upload.single只是處理了文件的上傳。你仍可以通過req.body來獲取其它參數(shù)

總結

到此這篇關于nodejs使用Express框架寫后端接口的文章就介紹到這了,更多相關nodejs Express后端接口內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 基于node編寫excel讀取和導出的小工具

    基于node編寫excel讀取和導出的小工具

    這篇文章主要為大家詳細介紹了如何基于node編寫一個小工具,可以實現(xiàn)excel讀取和導出,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下
    2024-11-11
  • Nodejs調用Dll模塊的方法

    Nodejs調用Dll模塊的方法

    這篇文章主要介紹了Nodejs調用Dll模塊的方法,在文中給大家提到了nodejs通過ffi調用dll模塊的代碼,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-09-09
  • Node模塊化開發(fā)實例解析

    Node模塊化開發(fā)實例解析

    這篇文章主要為大家介紹了Node模塊化開發(fā)實例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • node.js中的querystring.unescape方法使用說明

    node.js中的querystring.unescape方法使用說明

    這篇文章主要介紹了node.js中的querystring.unescape方法使用說明,本文介紹了querystring.unescape的方法說明、語法、接收參數(shù)、使用實例和實現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • Node.js創(chuàng)建Web、TCP服務器

    Node.js創(chuàng)建Web、TCP服務器

    這篇文章主要介紹了用Node.js創(chuàng)建Web服務器和TCP服務器的方法和處理技巧,需要的讀者們學習一下吧。
    2017-12-12
  • Node.js圖片驗證碼識別功能

    Node.js圖片驗證碼識別功能

    現(xiàn)在越來越多的網(wǎng)站采取圖片驗證碼,防止機器惡意向服務端發(fā)送請求,但是常規(guī)的圖片驗證碼也不是非常安全了,有非常多第三方庫可以對圖片上的數(shù)字文字等進行識別,下面小編給大家分享Node.js圖片驗證碼識別功能實現(xiàn),感興趣的朋友一起看看吧
    2024-04-04
  • 如何正確使用Nodejs 的 c++ module 鏈接到 OpenSSL

    如何正確使用Nodejs 的 c++ module 鏈接到 OpenSSL

    這篇文章主要介紹了如何正確使用Nodejs 的 c++ module 鏈接到 OpenSSL,需要的朋友可以參考下
    2014-08-08
  • Nodejs excel(.xlsx) 文件的讀寫方式

    Nodejs excel(.xlsx) 文件的讀寫方式

    這篇文章主要介紹了Nodejs excel(.xlsx) 文件的讀寫方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • 利用Node.js對文件進行重命名

    利用Node.js對文件進行重命名

    最近工作中遇到了對文件進行重命名的需求,后通過node.js實現(xiàn)了,所以下面這篇文章主要給大家介紹了利用Node.js對文件進行重命名的相關資料,文中介紹的非常詳細,對大家具有一定的參考價值,需要的朋友們下面來一起看看吧。
    2017-03-03
  • 前端常見面試題之a(chǎn)sync/await和promise的區(qū)別

    前端常見面試題之a(chǎn)sync/await和promise的區(qū)別

    async/await是異步代碼的新方式,以前的方法有回調函數(shù)和Promise,下面這篇文章主要給大家介紹了關于前端常見面試題之a(chǎn)sync/await和promise區(qū)別的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-07-07

最新評論

抚顺县| 永和县| 格尔木市| 博兴县| 盐亭县| 行唐县| 仁怀市| 仁布县| 镇赉县| 琼海市| 阿勒泰市| 马鞍山市| 鄂尔多斯市| 金溪县| 通许县| 葫芦岛市| 广安市| 长宁县| 宝坻区| 磴口县| 教育| 洛隆县| 平塘县| 长子县| 赫章县| 七台河市| 大城县| 乐陵市| 桃园县| 靖安县| 无锡市| 房产| 防城港市| 芜湖县| 错那县| 颍上县| 宣威市| 独山县| 教育| 广德县| 横峰县|