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

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

时间:2024-10-24 10:01:18浏览次数:1  
标签:RestfulAPI NodeJS mongoDB js 文件夹 products

本项目旨在学习如何快速使用 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变为本地版)

项目文件的架构

通常文件架构是在开发过程中,逐步完善的,但是也可以直接确定架构后,按照模版的进行开发。

-** 表示文件;**表示文件夹

这里仅展示手动创建且会修改的文件及文件夹

项目文件夹(根目录)
  -package.json 			配置文件 pnpm i 会自动生成
  -gitignore 					git操作会忽略的文件
  -.env								环境变量的配置 结合dotenv依赖使用
  -app.js							全局变量、路由的配置等
  -server.js					启动文件 常规启动 终端node server.js
  uploads							文件夹 上传文件的存储位置
  	-**.jpeg
  api									api相关代码文件夹
    models						数据表的定义
      -product.js		
      -order.js
      -user.js
    routers						路由 api请求响应
      -products.js
      -orders.js
      -user.js
    middleware				中间件
      -check-auth.js
    controllers				路由 api请求响应的回调
      -products.js
      -orders.js
      -user.js

这里需要说明的是

controllers文件夹下的内容是从routers中提取出来的,目的是为了代码的可读性。

middleware中会放入多处经常需要使用的中间件。

路由的设置

localhost:3000/products 为例,新建文件夹routers, 然后在文件夹中新建文件products.js

//products.js
const express = require('express');
const router= express.Router();
//注意,这里使用的是 /
router.get('/',(req,res,next) => {
  
});

router.get('/:productId',(req,res,next) => {
  
});

//暴露
module.exports = router;

在文件app.js中引用该文件。

const express = require('express');;
const app = express();
//引用并使用products
const productsRoutes = require('./api/routers/products');
//注意这里是/products,此时如果需要查看productsAPI就需要访问地址localhost:3000/products/
app.use('/products',productsRoutes);

module.exports = app;

标签:RestfulAPI,NodeJS,mongoDB,js,文件夹,products
From: https://www.cnblogs.com/sitarblogs/p/18498924

相关文章

  • 【NodeJS】NodeJS+mongoDB在线版开发简单RestfulAPI (八):API说明(暂时完结,后续考虑将
    本项目旨在学习如何快速使用nodejs开发后端api,并为以后开展其他项目的开启提供简易的后端模版。(非后端工程师)由于文档是代码写完之后,为了记录项目中需要注意的技术点,因此文档的叙述方式并非开发顺序(并非循序渐进的教学文档)。建议配合项目源码node-mongodb-template。【NodeJS......
  • flask+python+html+mongodb
     python运行此文件,跳转到index.htmlfromflaskimportFlask,render_template,request,jsonify,json,url_for,redirectapp=Flask(__name__)@app.route('/',methods=['GET','POST'])defindex():returnrender_template('index.......
  • nodejs基于Vue的二手交易系统(源码+vue+部署文档+前后端分离等)
    收藏关注不迷路!!......
  • mongoDB学习之--docker安装mongoDB
    一、环境准备:操作系统:centos9stream:5.14.0-522.el9.x86_64docker版本:27.3.1由于最近镜像加速器也被禁的很厉害,很多要么申请白名单,要么得像阿里一样申请二级域名;可惜配置了申请的阿里域名依然还是连不上dockerhub, {"registry-mirrors":["https://xxxxxx.mirror.a......
  • MongoDB 可以处理的连接数
    影响连接限制的因素1.硬件资源:服务器(CPU、内存)越强大,理论上可处理的连接数就越多。2.MongoDB版本:不同版本的MongoDB可能有不同的默认值或最大连接数。3.操作系统配置:操作系统对文件描述符的限制会直接影响MongoDB可处理的最大连接数。每个连接都会使用一个文件描述符,而......
  • MongoDB数据备份&导入导出&同步
    mongodump&mongorestore单库备份##-o输出目录mongodump--host127.0.0.1--port27032-uxxx-pxxx--dbtest2--oplog-o./test2全库备份--oplog只能在副本集中使用,因为副本集初始化的时候生成oplog,单实例使用--oplog会报错。mongodump--host127.0.0.1--port......
  • MongoDB 5 安装&副本集搭建&集群搭建
    单节点安装需要一个数据目录地址,一个日志文件地址,配置文件##数据目录地址--dapath=##日志文件--logpath=##配置文件--config=***.conf下载https://fastdl.mongodb.org/osx/mongodb-macos-x86_64-5.0.27.tgz启动命令/data/dba/yanhao/application/mongodb/bin/mong......
  • nodejs+vue+express化妆品商城购物推荐系统9t10
    目录项目介绍具体实现截图技术栈支持phpnodejsjavapython开发工具和技术简介错误处理和异常处理nodejs类核心代码部分展示解决的思路其他题目推荐源码获取/联系我项目介绍论文主要是对化妆品购物商城系统进行了介绍,包括研究的现状,还有涉及的开发背景,然后还对系统......
  • Mongodb(4)索引,查看执行计划,聚合操作aggregate,表关联查询,批量插入测试数据,执行计
    创建索引,支持:单键索引、复合索引,唯一索引创建索引后台执行db.books.createIndex({open:1,close:1},{background:true})对内嵌文档字段创建索引:db.books.createIndex({"author.name":1})创建唯一索引db.books.createIndex({title:1},{unique:true})在包含嵌套对象的......
  • 基于Nodejs+vue的商城系统的设计与实现
    文章目录前言项目介绍技术介绍功能介绍核心代码数据库参考系统效果图前言文章底部名片,获取项目的完整演示视频,免费解答技术疑问项目介绍  随着科学技术水平的逐年发展,企业和高校对信息化建设提出了新的规范要求和建设标准,如何有效的利用信息化建设改善自身对于......