【开源库】StreamlineCode,让后端开发像搭积木一样简单

9 阅读4分钟

引言

作为一名后端开发者,你是否经常为重复编写CRUD接口而感到厌倦?是否希望有一种方式能快速构建API,同时保持代码的可维护性?今天,我要向大家介绍一个我开发的低代码后端工具库——StreamlineCode,它基于Express.js封装,通过配置化的方式让后端开发变得前所未有的简单。

什么是StreamlineCode?

StreamlineCode是一个轻量级的Express后端开发工具库,旨在通过配置化的方式简化API开发流程。它封装了常见的后端开发功能,如数据库操作、认证、中间件管理等,让你可以通过简单的配置快速构建完整的API服务。

核心功能

1. 数据库操作自动化

StreamlineCode提供了简洁的数据库操作接口,支持常见的CRUD操作:

  • findOne:根据条件查询单条记录
  • find:查询多条记录,支持条件、排序和分页
  • create:插入新记录
  • update:更新记录
  • delete:删除记录

底层使用mysql2/promise,支持自定义数据库配置,让数据库操作变得简单直观。

2. 智能路由配置

核心功能StreamlineRouter通过配置化的方式快速创建API路由,支持:

  • 多种HTTP方法:GET、POST、PUT、DELETE
  • 中间件自动管理:内置多种常用中间件,如身份验证、登录、注册、分页等
  • 数据库操作自动绑定:通过简单配置,自动处理数据库操作
  • 统一响应格式:自动包装响应为标准格式

3. 丰富的中间件支持

提供多种实用中间件:

  • 认证中间件:JWT token生成与验证、用户登录注册验证
  • 数据处理中间件:分类过滤、分页、数据打乱
  • 响应中间件:统一响应格式处理

4. 高度可配置性

  • 中间件参数化:支持通过配置传递参数给中间件
  • 响应数据自定义:支持静态和动态响应数据配置
  • 灵活的参数格式:支持字符串和对象两种格式的配置

快速开始

安装

npm i streamline-code-by-ikun2274

快速一个后端接口

import {
    setDbConfig, startServer,
    StreamlineRouter
} from 'streamline-code-by-ikun2274';

//引入  目前就这些

配置数据库


// 1. 配置数据库连接  目前只支持mysql2  待集成
setDbConfig({
  host: 'localhost',
  user: 'root', // 你的 MySQL 用户名
  password: '123456', // 你的 MySQL 密码
  database: 'my_test_db' // 数据库名
});

启动服务器

// 启动服务器
startServer({
  port: 3001, // 服务器端口
  allowedOrigins: [
    'http://localhost:3000', // 前端地址
    'http://127.0.0.1:5501' // 本地调试地址
  ]
});

查询所有数据(GET)

查询所有数据(GET)

StreamlineRouter({
  url: '/api/users', // 路由路径
  method: 'get',      // HTTP 方法
  PlusHandler: {
    db: {
      table: 'users',       // 表名
      operation: 'select'   // 操作类型(查询)
    },
    other: {
      successMessage: '获取用户列表成功' // 成功消息
    }
  }
});

按 ID 查询

按 ID 查询单个数据(GET)

StreamlineRouter({
  url: '/api/users/:id', // 带 ID 路径参数
  method: 'get',
  PlusHandler: {
    db: {
      table: 'users',
      operation: 'select'
    },
    other: {
      successMessage: '获取用户详情成功'
    }
  }
});


创建数据(POST)

 创建数据(POST)

StreamlineRouter({
  url: '/api/users',
  method: 'post',
  PlusHandler: {
    db: {
      table: 'users',
      operation: 'create'   // 操作类型(创建)
    },
    other: {
      successMessage: '创建用户成功'
    }
  }
});

更新数据(PUT)

更新数据(PUT)

StreamlineRouter({
  url: '/api/users/:id', // 带 ID 路径参数
  method: 'put',
  PlusHandler: {
    db: {
      table: 'users',
      operation: 'update'   // 操作类型(更新)
    },
    other: {
      successMessage: '更新用户成功'
    }
  }
});

删除数据 DELETE



StreamlineRouter({
  url: '/api/users/:id', // 带 ID 路径参数
  method: 'delete',
  PlusHandler: {
    db: {
      table: 'users',
      operation: 'delete'   // 操作类型(删除)
    },
    other: {
      successMessage: '删除用户成功'
    }
  }
});


使用内置中间件 我这个支持对象/字符串 /字符串数组


StreamlineRouter({
  url: '/api/paginated/users',
  method: 'get',
  BuiltinMid: {
    Parameter: ['pagination:10'] // 每页10条
  },
  PlusHandler: {
    db: {
      table: 'users',
      operation: 'select'
    },
    other: {
      successMessage: '获取分页用户列表成功'
    }
  }
});


// 示例 使用多个中间件 - 分页 + 分类筛选
StreamlineRouter({
  url: '/api/filtered/users',
  method: 'get',
  BuiltinMid: {
    Parameter: [
      'pagination:15', // 每页15'categoryFilter:type_id' // 使用type_id作为分类字段
    ]
  },
  PlusHandler: {
    db: {
      table: 'users',
      operation: 'select'
    },
    other: {
      successMessage: '获取筛选后用户列表成功'
    }
  }
});




📌 项目开源不易,如果觉得这个低代码工具库对你有帮助,欢迎 Star 收藏、Fork 二次封装,也欢迎在评论区 / Gitee Issues 提出优化建议、Bug 反馈、功能想法,我会持续迭代打磨,一起把这个轻量级后端框架做得更完善~

gitee 库地址

地址