当前位置:首页 > Windows程序 > 正文

基于Node的PetShop,RESTful API以及认证

2021-03-17 Windows程序

由于宠物店的业务发展需要,我们需要一种更加便捷的方式来管理日益增多的宠物和客户。最好的方法就是开发一个APP,我可以用这个APP来添加、更新和删除宠物。同时,业务要给宠物店的会员用户有限查看某些宠物。

我们在开发中会用到NodeJs以及基于NodeJs的开发框架,如:Express,Mongoose(用来管理MongoDB的数据),Passport(认证)等工具。

开始

我们这个项目的结构大概是这样的:

petshot/ //服务端和客户端(android) server/ //服务端 models/ //实体类 pet.js user.js node_modules/ //npm安装的包,无需手动修改 package.json //project定义和依赖声明 server.js //服务端的一切从这里开始

注意:node_modules这个目录你不需要创建,在执行npm安装命令之后这个目录会自动生成,并且npm命令会自动管理这个目录。

定义项目和依赖的包

这里假设你已经跳转到petshop/server/目录下了。之后在Terminal里执行命令:

npm init

按照提示,依次在Terminal里输入相应的信息。最后npm命令生成package.json文件。文件是这样的:

{ "name": "petshop-server", "version": "0.1.0", "description": "petshop nodejs server", "main": "server.js", "dependencies": { } }

内容很多,这里是一部分。

安装所需要的包

为什么NodeJs能让那么多的开发者青睐有加,npm命令绝对也是一个数得上的原因了。下面就体会一下,npm命令。

首先,使用npm命令安装Express:

npm install --save express

npm命令会选择合适的Express版本下载安装在本地。其他的包也是这么安装的。非常简单。

运行Server

有了Express,Server就已经可以运行起来了。如果你还没有创建server.js,请创建。在server.js中添加如下的代码:

// 引入我们需要的包express var express = require(‘express‘); // 创建一个express的server var app = express(); // server运行的端口号 var port = process.env.PORT || ‘3090‘; // 使用express的路由器 var router = express.Router(); // 访问:3090/api的时候, // 返回一个json router.get(‘/‘, function (req, res) { res.json({‘message‘: ‘欢迎来到宠物商店‘}); }); // 给路由设定根路径为/api app.use(‘/api‘, router); // 运行server,并监听指定的端口 app.listen(port, function () { console.log(‘server is running at :3090‘); });

通过require得到的express,就可以初始化出一个express的server。之后指定路由,并指定路由的相对根路径。在app上调用listen方法,并指定端口。这样express的server就运行起来了。

在Terminal中输入命令:

node server.js

测试一下我们的第一个server是否可以运行。在浏览器中输入地址::3090/api就可以看到运行结果了。

几个工具

为了开发的更加方便,仅仅以上介绍的内容是不够的。比如,修改代码之后,使用命令node server.js来重启server。设置断点,单步调试等。我们来看看这几个工具:

1. Visual Code

微软改邪归正依赖的第一个靠谱的工具。正好这个工具非常好的支持了NodeJs的开发。Visual Code还默认继承了Git代码管理工具。这让我非常愿意多安利几句。

并且使用visual code可以非常方便的调试。比如,设置断点、单步调试,step in、step out等都可以。还可以鼠标悬浮查看变量值等。

2. Postman

postman有chrome浏览器版本的应用,这样无论你在什么平台上开发只要安装了Chrome浏览器就可以装一个postman。这个工具是用来检查RESTful API的。直接使用浏览器得出来的Json字符串有的时候没有格式化,或者格式化不充分,非常难阅读。

并且直接使用浏览器没法模拟Http post请求。而Postman很好的解决了以上问题。所以,开发必备神器之一postman,你值得拥有。

MongoDB

业界著名的非关系数据库MongoDB。我们在petshot的server端使用该库来存储数据。请按照官网说明下载安装(其实就是把编译好的二进制文件放到一个指定目录)。

数据库安装好之后,就需要连接数据库的框架了。这就需要用到mongoose。Mongoose是处理MongoDB的一个ORM框架。

npm install --save mongoose

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/62458.html