Node学习-第六章-express中间件与RESful API接口规范(上)

express 项目

这一章节,可以是说整个项目建立的基础部分。主要是是项目模块化。通过本章的学习可以实现项目代码目录清晰,已经构建相对健全的框架结构。

1. app.js 项目入口文件,基础依赖安装和挂载。

  1. 在app.js 入口文件中,首先是创建express服务。
const express = require('express');
const app = express();
  1. 其次引入路由文件,设置路由前置路径配置,配置好端口。
const router = require('./router');
app.use('/api/v1', router) // 路由前置路径配置
const PORT = process.env.port || 3000; // 端口号
  1. 使用一些第三方的依赖包
const cors = require('cors'); // 跨域处理
app.use(express.json()); // 客户端json 解析
app.use(express.urlencoded()); //  这是Express中内置的中间件功能。它解析带有url编码的有效载荷的传入参数
// 第三中间件 解决跨域 cors  npm install cors
app.use(cors());
  1. 启用express服务并且监听
app.listen(PORT, ()=>{
   
  console.log('Run Htpp://127.0.0.1:3000')
})

2. RESful API接口规范

参考学习
https://restfulapi.cn/restful-api-request

  1. API请求规范
  1. HTTP 动词
    GET: 读取(Read)
    POST: 新建(Create)
    PUT: 更新(Update)
    PATCH: 更新(Update),通常是部分更新
    DELETE:删除(Delete)
  2. URL(宾语)必须是名词
    /getAllCars
    /createNewCar
    /deleteAllRedCars
    建议都使用复数
  1. API响应规范
  1. 状态码
    HTTP 状态码就是一个三位数,分成五个类别。
    1xx:相关信息
    2xx:操作成功
    3xx:重定向
    4xx:客户端错误
    5xx:服务器错误
  2. 具体状态码规范

200状态码表示操作成功,但是不同的方法可以返回更精确的状态码。

GET: 200 OK
POST: 201 Created
PUT: 200 OK
PATCH: 200 OK
DELETE: 204 No Content

3xx 状态码
API 用不到301状态码(永久重定向)和302状态码(暂时重定向,307也是这个含义)

4xx 状态码
400 Bad Request:服务器不理解客户端的请求,未做任何处理。
401 Unauthorized:用户未提供身份验证凭据,或者没有通过身份验证。
403 Forbidden:不具有访问资源所需的权限。
404 Not Found:所请求的资源不存在,或不可用。
405 Method Not Allowed:用户已经通过身份验证,但是所用的 HTTP 方法不在他的权限之内。

5xx状态码
500 Internal Server Error:客户端请求有效,服务器处理时发生了意外。
503 Service Unavailable:服务器无法处理请求,一般用于网站维护状态。

3. 路由模块-router文件夹

  1. index.js 文件作为入口文件,代码主要功能创建路由对象,使用第三方日志文件包
  2. 导入各个模块的路由地址。
const express  = require('express');
const router = express.Router();
const {
    logger } = require('../middleware/logger');
router.use('/user',logger, require('./user'))
module.exports = router;

3.user.js 代码

  1. 首先考虑的是在user模块中。我们的路由接口都有:注册registers,登录login,查询lists,删除delete。
  2. user模块中,路由配置参数格式校验。
  3. user模块中,路由配置参数token校验。
  4. user模块中,路由配置参数业务逻辑。
const express  = require('express'); // 引入express
const router = express.Router(); // 创建router对象
const userControl = require('../controller/user') // 引入业务处理模块
const validator = require(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值