前提
- node環境
說明
- 本文使用 express 模塊來啓動web服務器。Express官網:https://www.expressjs.com.cn/
極簡嘛,所以,此案例直接通過shell窗口操作。當然啦,你也可以使用VSCode或者其他IDE工具。
正文
-
新建一個空目錄。本示例新建個名爲 node-server-demo 目錄。
-
進入到該目錄,打開一個shell終端。(window系統:進入目錄,按住shift鍵,右鍵,在此處打開Powershell窗口)
-
在終端執行
npm init -y
,初始化node項目。會在目錄生成一個package.json文件。(參數 -y 的作用是令所有配置默認。也可以不指定,自己手動填寫配置)
-
在終端執行
npm install express
,安裝express依賴。
-
在項目根目錄新建 server.js 文件,編寫web服務器配置。
var express = require('express');
var app = express();
app.use(express.json()) // 增加 application/json 請求類型的支持
app.use(express.urlencoded({ extended: true })) // 增加 application/x-www-form-urlencoded 請求類型的支持
// queryString參數
app.get('/getUrl', function (req, res) {
console.log(req.query);
res.end(JSON.stringify(req.query));
})
// restful參數
app.get('/getUrl/:name', function (req, res) {
console.log(req.params.name);
res.send(req.params.name);
})
// 請求體參數,上述兩行app.use就是爲了支持請求體參數
app.post('/postUrl', function (req, res) {
console.log(req.body);
res.json({"msg": req.body});
})
//監聽端口
var server = app.listen(8088, function () {
var host = server.address().address
var port = server.address().port
console.log("webserver已啓動,地址 http://%s:%s", host, port)
});
-
在終端執行
node server.js
,啓動web服務器。
正常輸出 “webserver已啓動,地址 http://:::8088”,說明web服務器正在運行中。
-
測試接口
- GET請求:可直接用瀏覽器訪問,也可以使用Postman發送GET請求。
- queryString傳參:localhost:8088/getUrl?name=markix
- restful傳參:localhost:8088/getUrl/markix
- POST請求:通過Postman測試
由於在Web服務器配置中寫了一些console.log,所以接收到請求則會打印出來。
通過接口響應內容,或者服務器的日誌判斷接口是否正常。
- 極簡 Node.js web服務器。完工。
說明
服務器返回響應,相關文檔
- res.end(); //建議無需數據返回時使用
- res.send(); //可靈活配置返回內容
- res.json(); //返回json類型內容
服務器req的屬性,相關文檔
- req.query //queryString參數
- req.params //restful參數
- req.body //請求體,該功能能正常使用的關鍵是代碼中兩行app.use
開啓更多姿勢,詳見Express官網
end