构建 REST API 的项目结构与控制器实现
在构建 REST API 时,合理的项目结构和高效的控制器设计至关重要。下面将详细介绍项目的各个部分以及控制器的实现。
1. 项目结构概述
项目包含多个重要的文件夹,每个文件夹都有其特定的功能:
- request_schemas :该文件夹包含用于验证不同请求的 JSON 模式。
- schemas :这里存放模型的 JSON 模式,用于 Swagger 模块定义测试 UI 和 Mongoose 模型的定义。由于两种模式格式不同,需要添加一些代码进行转换。
- swagger-ui :此文件夹包含 Swagger UI 项目的内容,需要对 index.html
文件进行一些小调整以使其按预期工作。
- node_modules :该文件夹由 npm 自动创建,包含 package.json
文件中列出的模块。首次运行 npm install
后,该文件夹会自动出现,无需手动维护。
- config : config
文件夹由 config
模块使用,默认会在其中查找配置。配置应存储在名为 default.json
的 JSON 文件中,特定环境的配置可以通过创建相应的配置文件(如 production.json