2
使用自定义端点扩展现有API
我正在为多个客户创建一个API。像/users每个客户一样使用核心端点,但是某些端点依赖于单独的自定义。因此,可能是用户A需要一个特殊的终结点,/groups而其他客户将没有该功能。就像附带说明一样,由于这些额外功能,每个客户也将使用自己的数据库架构。 我个人使用NestJs(引擎盖下的Express)。因此,app.module当前注册了我所有的核心模块(带有自己的端点等)。 import { Module } from '@nestjs/common'; import { UsersModule } from './users/users.module'; // core module @Module({ imports: [UsersModule] }) export class AppModule {} 我认为这个问题与NestJs无关,因此您在理论上将如何处理? 我基本上需要一个能够提供基本系统的基础架构。由于每个扩展都是唯一的,/users因此可能不再存在核心端点。开发新功能时,不应触摸核心应用程序。扩展应自行集成或在启动时进行集成。核心系统没有端点,但将从这些外部文件扩展。 我想到了一些主意 第一种方法: 每个扩展都代表一个新的存储库。定义一个包含所有扩展项目的自定义外部文件夹的路径。此自定义目录将包含一个groups带有groups.module import { Module } from '@nestjs/common'; import { GroupsController } from './groups.controller'; @Module({ controllers: [GroupsController], }) export class GroupsModule {} …