当前位置: 首页 > article >正文

【NodeJS】NodeJS+mongoDB在线版开发简单RestfulAPI (八):API说明(暂时完结,后续考虑将在线版mongoDB变为本地版)

本项目旨在学习如何快速使用 nodejs 开发后端api,并为以后开展其他项目的开启提供简易的后端模版。(非后端工程师)
由于文档是代码写完之后,为了记录项目中需要注意的技术点,因此文档的叙述方式并非开发顺序(并非循序渐进的教学文档)。建议配合项目源码node-mongodb-template 。

【NodeJS】NodeJS+mongoDB在线版开发简单RestfulAPI (一):项目简介及安装依赖

【NodeJS】NodeJS+mongoDB在线版开发简单RestfulAPI (二):项目文件夹架构及路由的设置

【NodeJS】NodeJS+mongoDB在线版开发简单RestfulAPI (三):Cors的设置及.env文件的设置

【NodeJS】NodeJS+mongoDB在线版开发简单RestfulAPI (四):状态码的使用

【NodeJS】NodeJS+mongoDB在线版开发简单RestfulAPI (五):POST上传文件的设置

【NodeJS】NodeJS+mongoDB在线版开发简单RestfulAPI (六):token的设置

【NodeJS】NodeJS+mongoDB在线版开发简单RestfulAPI (七):MongoDB的设置

【NodeJS】NodeJS+mongoDB在线版开发简单RestfulAPI (八):API说明(暂时完结,后续考虑将在线版mongoDB变为本地版)

api说明

本地地址 http://localhost:3000

user相关

api说明路由请求类型Body是否需要token
用户注册/user/signupPOST{ “email”: “”, “password”: “”}
用户登录/user/loginPOST{ “email”: “”, “password”: “”}生成token
删除用户/user/:userIdDELETE
//POST localhost:3000/user/signup
//body:{
//  "email":"test@111.com",
//  "password":"1111"
//}

//成功请求
{
    "message": "Create user successfully",
    "createdUser": {
        "result": {
            "_id": "670e668c1582b8a04f4bb243",
            "email": "test@111.com",
            "password": "$2b$10$uWfDEzRBwOBbJjRD8PmA7.14rH4RFJOHNB3G5RV6e/MP8iSLGCWPa",
            "__v": 0
        }
    }
}
//POST localhost:3000/user/login
//body:{
//  "email":"test@111.com",
//  "password":"1111"
//}

//成功请求
{
    "message": "Auth successfully",
    "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6InRlc3RAMTExLmNvbSIsInVzZXJJZCI6IjY3MGU2NjhjMTU4MmI4YTA0ZjRiYjI0MyIsImlhdCI6MTcyODk5NzE3NywiZXhwIjoxNzI5MDAwNzc3fQ.kblXndIY5jErCRswvzaogOGLkeZ1ufDGHG4wIQwhT2Y",
    "request": {
        "type": "POST",
        "url": "http://localhost:3000/user/signup",
        "body": {
            "email": "string",
            "password": "string"
        }
    }
}

products相关

api说明路由请求类型Body是否需要token
查看所有产品/productsGET
查看指定产品/products/:productIdGET
新增一个产品/productsPOSTForm-data {
name:[string/value],
price:[number/value],
productImage:[file/value] }
修改指定产品/products/:productIdPATCH[{ “propName”: “name”,“value”:“updateone” },
{ “propName”: “price”,“value”:1 }]
可以只修改一个属性
删除指定产品/products/:productIdDELETE
//POST localhost:3000/products
//form-data:{
//  "name":"test",
//  "price":9.9,
//	"productImage":,,
//}

//未登录
{
    "message": "Auth failed"
}

//ok
{
    "message": "Create product successfully",
    "createdProduct": {
        "result": {
            "_id": "670e67be1582b8a04f4bb246",
            "name": "testproduct",
            "price": 11,
            "productImage": "uploads/2024-10-15T13:01:50.603Z11.jpeg",
            "__v": 0
        },
        "request": {
            "type": "GET",
            "url": "http://localhost:3000/products/670e67be1582b8a04f4bb246"
        }
    }
}
//PATCH localhost:3000/products/670e67be1582b8a04f4bb246
//[{"propName":"name","value":"testproduct2update"}]

//Ok
{
    "message": "Product updated successfully",
    "request": {
        "type": "GET",
        "url": "http://localhost:3000/products/670e67be1582b8a04f4bb246"
    }
}

orders相关

api说明路由请求类型Body是否需要token
查看所有订单/ordersGET
查看指定订单/orders/:orderIdGET
新增一个订单/ordersPOST{ “productId”:“”,
“quantity”:“”,}
删除指定订单/orders/:orderIdDELETE

http://www.kler.cn/news/367997.html

相关文章:

  • Java 中的正则表达式详解
  • 尚硅谷redis 第150节答疑 String源码sds
  • OpenTelemetry 实际应用
  • ThinkPad T480拆机屏幕改装:便携式显示器DIY指南
  • Spring WebFlux学习笔记(一)
  • 基于SSM的BBS社区论坛系统源码
  • 多线程——Thread 类的基本用法
  • 安灯系统助力汽车零部件工厂快速解决生产异常
  • python 深度学习 项目调试 图像分割 detectron2
  • 32位的ARMlinux的4字节变量原子访问问题
  • sv标准研读第十九章-功能覆盖率
  • konva不透明度,查找,显示,隐藏
  • ThreadPoolExecutor可以创建哪是哪三种线程池呢?
  • linux网络编程4——WebSocket协议及服务器的简易实现
  • 苏州金龙技术创新赋能旅游新质生产力
  • Navicat导入Excel数据时数据被截断问题分析与解决方案
  • 论文阅读与写作入门
  • mit6824-03-GFS论文记录
  • 微信小程序版本更新管理——实现自动更新
  • Linux复习-C++
  • vue3组件通信--props
  • 虚拟现实新纪元:VR/AR技术将如何改变娱乐与教育
  • 桥接模式,外界与主机通,与虚拟机不通
  • 提示词高级阶段学习day3.3如何写好结构化 Prompt ?
  • AndroidStudio Koala更改jdk版本 2024-1-2
  • 关于我的数据库——MySQL——第二篇