api-middleware

Sumor Cloud工具。 更多文档

API中间件是用于Node.JS的中间件。 可以轻松地将函数暴露为API,并验证参数

CI Test Coverage Audit

安装

npm i @sumor/api-middleware --save

先决条件

Node.JS版本

需要Node.JS版本18.x或以上

需要Node.JS ES模块

由于此包是用ES模块编写的, 请在您的package.json文件中更改以下代码:

{
  "type": "module"
}

用法

基本用法

  1. 在您的项目文件夹 api 中添加名为 plus.js 的文件
export default async (context, req, res) => {
  const { data } = context
  const { a, b } = data
  return a + b
}
  1. [可选] 在您的项目文件夹 api 中添加名为 plus.json 的文件
{
  "name": "plus",
  "parameters": {
    "a": {
      "name": "参数a",
      "type": "number",
      "length": 3
    },
    "b": {
      "name": "参数b",
      "type": "number"
    }
  }
}
  1. 在您的 index.js 文件中添加以下代码
import express from 'express'
import apiMiddleware from '@sumor/api-middleware'

const app = express()
apiMiddleware(app, process.cwd() + '/api')

app.listen(3000, () => {
  console.log('服务器运行在 http://localhost:3000')
})
  1. 运行 index.js
node index.js

参数规则

您可以参考下面的示例来应用参数规则

{
  "name": "plus",
  "parameters": {
    "a": {
      "name": "参数a",
      "type": "number",
      "length": 3,
      "rule": [
        {
          "code": "GREATER_THAN_0",
          "expression": "^[1-9][0-9]*$",
          "message": "必须大于0"
        }
      ],
      "i18n": {
        "zh": {
          "GREATER_THAN_0": "必须大于0"
        }
      }
    },
    "b": {
      "name": "参数b",
      "type": "number"
    }
  }
}

有关更多用法,请参考验证器

上下文

data

它包含请求中传递的所有参数

文件上传将被解析为以下对象:

exposeApis

它包含所有暴露的APIs