api-middleware

Un outil Sumor Cloud.
Plus de Documentation

API Middleware est un middleware pour Node.JS. Il peut facilement exposer des fonctions à l'API et valider les paramètres

CI Test Couverture Audit

Installation

npm i @sumor/api-middleware --save

Prérequis

Version de Node.JS

Nécessite une version de Node.JS 18.x ou supérieure

Nécessite un module ES de Node.JS

Comme ce package est écrit en module ES, veuillez changer le code suivant dans votre fichier package.json :

{
  "type": "module"
}

Utilisation

Utilisation de base

  1. Ajoutez un fichier nommé plus.js dans le dossier de votre projet api
export default async (context, req, res) => {
  const { data } = context
  const { a, b } = data
  return a + b
}
  1. [Optionnel] Ajoutez un fichier de configuration nommé plus.json dans le dossier de votre projet api
{
  "name": "plus",
  "parameters": {
    "a": {
      "name": "paramètre a",
      "type": "number",
      "longueur": 3
    },
    "b": {
      "name": "paramètre b",
      "type": "number"
    }
  }
}
  1. Ajoutez le code suivant dans votre fichier 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('Le serveur fonctionne sur http://localhost:3000')
})
  1. Exécutez index.js
node index.js

Types de Fichier de Configuration Supplémentaires

yaml

Vous pouvez utiliser un fichier yaml pour définir le fichier de configuration, remplacez plus.json par plus.yml

name: plus
parameters:
  a:
    name: paramètre a
    type: number
    longueur: 3
  b:
    name: paramètre b
    type: number
config.js

Pour prendre en charge les fonctions js dans un fichier de configuration, vous pouvez utiliser le fichier config.js, remplacez plus.json par plus.config.js

export default {
  name: 'plus',
  parameters: {
    a: {
      name: 'paramètre a',
      type: 'number',
      longueur: 3
    },
    b: {
      name: 'paramètre b',
      type: 'number',
      règle: [
        {
          code: 'TROP_GRAND',
          message: 'b doit être inférieur à 100',
          fonction: function (valeur) {
            return valeur < 100
          }
        }
      ]
    }
  }
}

Règle de Paramètre

Vous pouvez vous référer à l'exemple ci-dessous pour appliquer des règles aux paramètres

{
  "name": "plus",
  "parameters": {
    "a": {
      "name": "paramètre a",
      "type": "number",
      "longueur": 3,
      "règle": [
        {
          "code": "SUPERIEUR_A_0",
          "expression": "^[1-9][0-9]*$",
          "message": "doit être supérieur à 0"
        }
      ],
      "i18n": {
        "zh": {
          "SUPERIEUR_A_0": "doit être supérieur à 0"
        }
      }
    },
    "b": {
      "name": "paramètre b",
      "type": "number"
    }
  }
}

Pour plus d'utilisations, veuillez vous référer à Validator

context

données

Il inclut tous les paramètres transmis dans la demande

le téléchargement de fichiers sera analysé comme suit :

exposeApis

Il inclut toutes les APIs exposées