zoukankan      html  css  js  c++  java
  • egg.js 学习之 中间件使用

    1.在框架和插件中使用中间件

    编写中间件

    我们先来通过编写一个简单的中间件,来看看中间件的写法。

    // app/middleware/middlewareOne.js

    // app/middleware/middlewareOne.js
    module.exports = (options, app) => {
      return async function middlewarreone(ctx, next) {
        const url = ctx.request.url;
        await next();
        ctx.body = `获取到的ip是:${url}`;
      }
    };

      

    配置

    // config/config.default.js
    exports.middleware = ['middlewareOne']; // 数组的顺序为中间件执行的顺序

    请求会执行 : 获取到的ip是:/data

    router 中使用中间件

    以上方式配置的中间件是全局的,会处理每一次请求。 如果你只想针对单个路由生效,可以直接在 app/router.js 中实例化和挂载,如下:

    'use strict';
    
    /**
     * @param {Egg.Application} app - egg application
     */
    module.exports = app => {
      const {
        router,
        controller
      } = app;
      const isUrl = app.middleware.middlewarreone({params: '888',});
      router.get('/', controller.home.index);
      router.post('/login', controller.home.login);
      router.post('/data',isUrl, controller.data.index);
      router.post('/upload', controller.upload.upload);
    
      router.get('/search', controller.data.search);
    };
    

      发送请求 同样会执行 结果:/data

    
    



  • 相关阅读:
    Java IO 流 一些散乱的笔记
    Java IO 流
    Java 枚举
    Java 内部类种类及使用解析
    Java 事件适配器 Adapter
    Java 异常基础 Exception
    Java中内置的观察者模式
    Java 代理模式(一) 静态代理
    Java 可变参数
    Java中的反射机制(二) 一个利用反射进行对象拷贝的例子
  • 原文地址:https://www.cnblogs.com/qq735675958/p/10193313.html
Copyright © 2011-2022 走看看