如何通過node.js來寫接口詳解
前言
如果要通過node.js來寫接口的話,首先我們需要借助一個框架--express,這個框架可以幫助我們快速的創(chuàng)建web服務器,所以我們需要通過npm下載這個包。
express寫get接口
// 引入express const express = require('express') // 調(diào)用express() const app = express() // 設置請求對應的處理函數(shù)--當客戶端以get方法請求, //請求地址后面需要加/getbooks才能訪問到響應后的數(shù)據(jù) //app.get('/getbooks')相當于添加事件監(jiān)聽,當用戶以get方法請求時,地址后面需要跟/getbooks,后面的回調(diào)函數(shù)才會執(zhí)行 app.get('/getbooks', function (request, response) { let books = { "status": 200, "msg": "獲取圖書列表成功", "data": [ { "id": 1, "bookname": "西游記", "author": "吳承恩", "publisher": "北京圖書出版社" }, { "id": 2, "bookname": "紅樓夢", "author": "曹雪芹", "publisher": "上海圖書出版社" }, { "id": 3, "bookname": "三國演義", "author": "羅貫中", "publisher": "北京圖書出版社" } ] } //response.send是express框架提供的方法,相當于結(jié)束本次請求。 response.send(books) }) // 監(jiān)聽端口,啟動web服務 app.listen(8000, function () { console.log('app listening on port 8000!') })
通過localhost:8000/getbooks成為訪問到數(shù)據(jù)。
此上,我們便簡單的實現(xiàn)了一個get請求來獲取到接口的數(shù)據(jù)。
express寫post接口--鍵值對參數(shù)
當請求頭中的content-type為x-www-form-urlencoded時,表示上傳的為普通鍵值對參數(shù)
// 引入express const express = require('express') // 調(diào)用express() const app = express() // 使用中間件--請求的格式為普通鍵值對格式 app.use(express.urlencoded()) // 接口2--post普通鍵值對格式a=1&b=2 app.post('/addbooks', (request, response) => { //request.body發(fā)送的請求的參數(shù) console.log('請求返回', request.body) //response.send響應回來的參數(shù) response.send({ a: 1 }) })
因為這里我們是通過post請求傳遞參數(shù)的,所以這里我們不能繼續(xù)向上面的get請求一樣通過地址欄測試了,這里我會借助一個測試接口的工具來進行測試,用到的工具是--apifox。
這里我們直接發(fā)送請求,我們會向后端發(fā)送兩個參數(shù),下面是得到響應后的參數(shù)
我們?nèi)サ叫『诖翱梢钥匆姲l(fā)送來的請求參數(shù)
express寫post接口--json格式的參數(shù)
// 引入express const express = require('express') // 調(diào)用express() const app = express() // 會自動加入req.body屬性,這個屬性中就包含了post請求所傳入的參數(shù),格式為json格式 app.use(express.json()) // 接口3--post-json格式 app.post('/add-json', (request, response) => { console.log('請求返回', request.body) response.send({ "name": "xxx" }) })
這里我們依舊會加入一個中間件來得到請求的參數(shù)。
測試接口
express寫post接口--form-data文件上傳
// 引入express const express = require('express') // 調(diào)用express() const app = express() // 引入包 const multer = require('multer'); // 配置 // uploads表示一個目錄名,你也可以設置成其它的 const upload = multer({ dest: 'uploads/' }) // 上傳的文件會保存在這個目錄下 // 接口4--通過post請求進行文件的上傳 app.post('/add-file', upload.single('img'), (request, response) => { console.log(request.body) console.log(request.file) response.send({ name: "小紅" }) })
測試接口
響應的參數(shù)
總結(jié)
到此這篇關于如何通過node.js來寫接口的文章就介紹到這了,更多相關node.js寫接口內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Nodejs實現(xiàn)圖片上傳、壓縮預覽、定時刪除功能
本文分步驟給大家介紹了Nodejs實現(xiàn)圖片的上傳、壓縮預覽、定時刪除功能,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2019-10-10NestJS開發(fā)核心概念Providers類基本用法詳解
這篇文章主要為大家介紹了NestJS開發(fā)核心概念Providers類基本用法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-08-08