【Node.js】笔记梳理 8 - API和JWT

写在最前:跟着视频学习只是为了在新手期快速入门。想要学习全面、进阶的知识,需要格外注重实战和官方技术文档,文档建议作为手册使用

系列文章

本文目录

API数据接口

接口是前后端通信的桥梁,一个接口就是第一个服务端中的路由规则,它可以根据前端请求响应对应的结果

有过和后端对接的经历的话,应该很容易明白这里说的接口的具体意义以及作用(前后端通信)

接口一般由以下部分组成:请求方法method、请求地址url、请求参数、响应结果

RESTful API

一种广泛使用的接口风格,主要有以下特点:

  • url中的路径表示资源 、路径中不能有动词,比如update、get等
  • 操作资源应当与http请求方法对应
  • 操作结果要与http响应状态码对应

示例:

操作 请求类型 URL 返回结果
新增学生信息 POST /student 新生成的学生的id
分页查询学生列表 GET /student list:学生列表; total:数据库中学生总数

接口测试工具

​ -- apifox

JWT - token认证

JWT ( json web token ):目前最流行的跨域认证解决方案

创建token - jwt.sign

jwt.sign(用户数据, token加密字符串, token配置对象)

js 复制代码
const jwt = require('jsonwebtoken')
const token = jwt.sign({
    userId: '',
    // ...
}, 'liushi_token', {
    expresIn: 3600 * 24 * 7  //设置token有效期
})

校验token是否有效

js 复制代码
const jwt = require('jsonwebtoken')
jwt.verify(token, 'liushi_token', (err, data) => {
    if(err){
        console.log(err)
        return;
    }
    console.log('校验结果: ', data)
})

部分检验结果说明

相关推荐
我先去打把游戏先15 小时前
ESP32学习笔记(基于IDF):ESP32连接MQTT服务器
服务器·笔记·单片机·嵌入式硬件·学习·esp32
四谎真好看19 小时前
Java 黑马程序员学习笔记(进阶篇18)
java·笔记·学习·学习笔记
报错小能手20 小时前
linux学习笔记(45)git详解
linux·笔记·学习
Larry_Yanan21 小时前
QML学习笔记(四十四)QML与C++交互:对QML对象设置objectName
开发语言·c++·笔记·qt·学习·ui·交互
摇滚侠1 天前
Spring Boot 3零基础教程,WEB 开发 默认页签图标 Favicon 笔记29
java·spring boot·笔记
EndingCoder1 天前
MongoDB基础与Mongoose ODM
服务器·javascript·数据库·mongodb·中间件·node.js
孟陬1 天前
Bun 1.2.23发布:119个问题修复,性能飙升!
node.js·deno·bun
酌量1 天前
基于3D激光点云的障碍物检测与跟踪---(1)体素下采样、ROI 区域裁剪与地面点云分割
笔记·机器人·ransac·障碍物检测·激光点云·roi·体素下采样
大邳草民1 天前
Django 的动态特性:从 Python 动态机制到框架设计思想
笔记·python·django
Larry_Yanan1 天前
QML学习笔记(四十五)QML与C++交互:信号槽的双向实现
c++·笔记·qt·学习·ui·交互