Nodejs 全局参数解析中间件

273 阅读1分钟

nodejs全局参数解析中间件

  • get方式
/*
    参数解析 
        get方式 浏览器地址栏携带参数
            request.url 中 存储 浏览器地址栏数据
            通过 url内置模块 可以 解析获取携带参数 
            设定解析模式为深度解析 解析结果是 对象形式
*/// 仅供参考
​
    // 导入 url模块
    const url = require('url')
    // 退出登录
    function outLoginHandler(request, response) {
        // get参数解析 
        console.log(url.parse(request.url, true).query)
        
        const { id } = url.parse(request.url, true).query
        response.send({ code: 1, msg: '已接收到请求', data: { id } })
    }
​
    // 导出
    module.exports = { outLoginHandler }
  • post方式
/*
        post方式 请求体携带参数
            需要使用 body-parser 依赖包 完成请求体中携带参数的解析 
            可以 下载成 项目依赖包 
            也可以不下载 高版本 express 自带这个依赖包 
                执行安装命令 
                    npm i parser
​
            配置好 依赖包的规范配置
            解析的结果 会自动设定到 request.body 中
*/// 仅供参考
    // app.js文件中
        // 导入 body-parser依赖包
        const body = require('body-parser')
        // 以普通字符串形式携带参数
        server.use(body({ extended:false }));
        // 以json字符串形式携带参数
        server.use(body.json());
​
​
    // login.js文件中
    function loginHandler(request,response){
        // post参数解析 
        let {name,pwd} = request.body
        response.send({code:1 , msg:'正常接收到请求' , data:{ name , pwd } })
    }
    // 导出
    module.exports={loginHandler}