Maison >interface Web >js tutoriel >Un moyen simple d'envoyer des réponses en Koa

Un moyen simple d'envoyer des réponses en Koa

不言
不言original
2018-07-21 11:26:441936parcourir

Cet article partage avec vous un moyen simple d'envoyer des réponses en Koa. Le contenu est très bon. Les amis dans le besoin peuvent s'y référer. J'espère que cela pourra aider tout le monde.

Contexte

Récemment, j'ai réalisé beaucoup de projets backend de nœuds et écrit beaucoup d'interfaces, mais j'ai découvert qu'à mesure que le nombre d'interfaces augmentait lentement, de plus en plus plus de choses devaient être écrites, tout comme le code ci-dessous.

ctx.body = {
    data: {
        name: 'test'
    },
    status: {
        code: 0,
        message: success
    }
}

C'est bien de l'écrire comme ça. Au moins le format renvoyé par toutes les interfaces est unifié. S'il n'y a pas de spécification à cet égard, alors les retours de l'interface backend ne sont pas uniformes, ce qui apportera un résultat. beaucoup de problèmes au niveau du front-end.

Et chaque interface nécessite d'écrire beaucoup de code. Cela semble être une chose particulièrement gênante.

Alors koa2-response est né. En fait, avant d'écrire cet article, je l'utilisais dans mon projet depuis un certain temps, ce qui facilite nos opérations.

Installation

npm install koa2-response

Utilisation

const koa = require('koa');
const router = require('koa-router')();
const app = new koa();
const response = require('koa2-response');

const code = {
  UNKNOWN_ERROR: [1, 'Sorry, you seem to have encountered some unknown errors.']
}

router
  .get('/', (ctx, next) => {
    response.success(ctx, {
      name: 'test'
    })
  })
  .get('/error_test', (ctx, next) => {
    response.error(ctx, code.UNKNOWN_ERROR);
  })

app.use(router.routes());
app.use(router.allowedMethods());

app.listen(3000);

De cette façon, il est très simple d'unifier le retour données du backend, cette méthode m'a fait gagner beaucoup de temps dans le projet. Ce middleware est toujours mis à jour en permanence et les méthodes existantes sont Response.success et Response.error. Je prévois de continuer à mettre à jour une méthode appelée réponse.throw, qui permet à l'arrière-plan de personnaliser le code d'état http et le message d'erreur renvoyés. Par exemple, si l'utilisateur n'a pas d'autorisation, le code d'état http doit être 401, et non notre code personnalisé.

Recommandations associées :

Comment utiliser l'objet FileReader pour obtenir le code de l'image

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn