Sumor Cloud工具。 更多文档
API中间件是用于Node.JS的中间件。 可以轻松地将函数暴露为API,并验证参数
npm i @sumor/api-middleware --save
需要Node.JS版本18.x或以上
由于此包是用ES模块编写的,
请在您的package.json
文件中更改以下代码:
{
"type": "module"
}
api
中添加名为 plus.js
的文件export default async (context, req, res) => {
const { data } = context
const { a, b } = data
return a + b
}
api
中添加名为 plus.json
的文件{
"name": "plus",
"parameters": {
"a": {
"name": "参数a",
"type": "number",
"length": 3
},
"b": {
"name": "参数b",
"type": "number"
}
}
}
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')
})
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"
}
}
}
有关更多用法,请参考验证器
它包含请求中传递的所有参数
文件上传将被解析为以下对象:
name
上传的文件名size
上传的文件大小(字节)mime
上传的文件MIME类型(例如,image/png)encoding
上传的文件编码(例如,7bit)path
上传的文件路径它包含所有暴露的APIs