【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/signup POST
用户登录 /user/login POST 生成token
删除用户 /user/:userId DELETE
//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
查看所有产品 /products GET
查看指定产品 /products/:productId GET
新增一个产品 /products POST Form-data {
name:[string/value],
price:[number/value],
productImage:[file/value] }
修改指定产品 /products/:productId PATCH [{ "propName": "name","value":"updateone" },
{ "propName": "price","value":1 }]
可以只修改一个属性
删除指定产品 /products/:productId DELETE
//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
查看所有订单 /orders GET
查看指定订单 /orders/:orderId GET
新增一个订单 /orders POST { “productId”:"",
"quantity":"",}
删除指定订单 /orders/:orderId DELETE
posted @ 2024-10-24 10:04  Sitar  阅读(1)  评论(0编辑  收藏  举报