如何轻松使用Node.JS创建API

已收录   阅读次数: 686
2021-10-0814:58:34 发表评论
摘要

之前用 Node.js 演示了爬虫实例和操作数据库的实例后,具体可以参看下面的两篇文章,那么接下来就用 Node.js 来创建API啦,也就是接口啦,伯衡君保证所写内容,浅显易懂,小白都能看懂哦,废话不多说,正文开始……

分享至:
如何轻松使用Node.JS创建API

开篇寄语

之前用 Node.js 演示了爬虫实例和操作数据库的实例后,具体可以参看下面的两篇文章,那么接下来就用 Node.js 来创建API啦,也就是接口啦,伯衡君保证所写内容,浅显易懂,小白都能看懂哦,废话不多说,正文开始。

前情提要

准备要素

  • 本机安装Node.js
  • 本机安装一个趁手的编辑器,比如伯衡君就使用的是VScode
  • 安装一个postman(推荐,其他类似应用也可以)

内容详情

上面的准备要素都齐全后,就可以打开编辑器,新建一个js项目啦,然后安装一些接下来用到的依赖包,用命令行安装:

npm install cors express helmet morgan

之后,在js内,写入以下代码:

// index.js

const express = require('express')

const app = express()
const port = process.env.PORT || 3000

app.get('/example', (req, res) => {
  res.json({ message: 'Your first API!!!' })
})

app.listen(port, () => {
  console.log(`listening on port ${port}`)
})

在terminal,运行node demo.js(新建的js文件名称)后,就前往postman输入地址,就会看到返回的信息,如下图所示:

如何轻松使用Node.JS创建API

看起来是不是很简单,接下来是创建传递参数的API,清空原js文件,并在termianl窗口,按下ctrl + c

退出监听模式,如下图所示:

如何轻松使用Node.JS创建API

之后,在js文件放入以下代码:

// importing the dependencies
const express = require('express');
const cors = require('cors');
const helmet = require('helmet');
const morgan = require('morgan');

// defining the Express app
const app = express();

// adding Helmet to enhance your API's security
app.use(helmet());

// using bodyParser to parse JSON bodies into JS objects
app.use(express.json());

// enabling CORS for all requests
app.use(cors());

// adding morgan to log HTTP requests
app.use(morgan('combined'));

// defining an endpoint to return all ads
app.post('/api/users', function(req, res) {
    const user_id = req.query.id;
    const token = req.query.token;
    const geo = req.query.geo;

    res.send({
        'user_id': user_id,
        'token': token,
        'geo': geo
    });
});

// starting the server
app.listen(3001, () => {
    console.log('listening on port 3001');
});

之后,运行node demo.js,前往postman,将get模式调整为post模式,之后写入参数,如下图所示:

如何轻松使用Node.JS创建API

创建Api可以让应用的体积更小,让运行更快速,多在数据库处理了,更高效,总之,掌握API后,能让你的开发能力更上一层楼。

  • 我的微信
  • 微信扫一扫加好友
  • weinxin
  • 我的微信公众号
  • 扫描关注公众号
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: