美文网首页Vue
提供接口的几种常用方式(一,Node.js)

提供接口的几种常用方式(一,Node.js)

作者: geeker2018 | 来源:发表于2018-09-04 16:30 被阅读554次

    总结几种常用提供接口的方式,学习目的:

    1.学习不同语言下Web框架。

    2.总结不同架构优缺点,培养架构意识。

    3.不同语言下,可以快速的提供API。

    1.Node.js 下express 框架。

    正如官网说明一样,这是一种高度包容、快速而极简的 Node.js Web 框架,值得了解Node.js一个初步学习的框架。

    下面具体介绍该框架下提供api的操作方式,以连接Mysql数据库为例,提供查询接口。

    1.0 下载Node.js。

    1.1 使用webstrom IDE,创建express 应用。

    1.2 该框架下会自动生成如下几个文件夹。

    a.bin 文件夹

    该文件夹下就一个www的js文件,该文件配置路径和服务接口。

    b.node_modeuls

    该文件夹下有很多node下的library模块包。

    c.pubilc

    使用web前端时,此处存放图片,css级联表,以及js文件。

    d.routes

    路由设置,即自定义请求的URL。

    e.views

    前端使用

    同时同一级别下还有app.js,package.json,pack-lock.json文件

    如果只想提供使用api的话,仅仅使用routes文件夹以及app.js,package.json即可。

    1.3 提供接口

    a.bin 文件下www.js 修改端口,默认是3000。

    b.routes文件下添加一个getPerson.js,作为处理接口js文件。

    var express =require('express');

    var router =express.Router();

    //add

    var URL=require('url');

    var mysql=require('mysql');

    var  connection=mysql.createConnection({//创建mysql实例

        host:'127.0.0.1',

        port:'3306',

        user:'***',

        password:'***',

        database:'********'

    });

    connection.connect();

    //add

    /* GET users listing. */

    router.get('/', function(req, res, next) {

    //解析请求参数

        console.log("enter getPerson");

        console.log(req.query.url,req.query.name);

        var sql='SELECT * FROM personinfo WHERE Name=';

        var params=URL.parse(req.url,true).query;

        console.log('Params:',params);

        console.log('SELECT * FROM personinfo WHERE Name=',params.Name);

        connection.query('SELECT * FROM personinfo WHERE Name = ? LIMIT 10',[params.Name],function (err,result){

    if (err){

    console.log('get person error',err);

              return;

          }

    res.send(result)

    }

    );

        //res.send('add by myself');

    });

    module.exports = router;

    c.修改app.js 添加路由

    //add by myself

    var getPersonRouter=require('./routes/getPerson');

    //add by myself

    app.use('/getPerson',getPersonRouter);

    d.添加依赖包

    "dependencies": {

    "cookie-parser": "~1.4.3",

      "debug": "~2.6.9",

      "express": "~4.16.0",

      "http-errors": "~1.6.2",

      "morgan": "~1.9.0",

      "pug": "2.0.0-beta11",

      "mysql": "2.16.0"

    }

    1.4 测试接口

    http://localhost:3000/getPerson/?Name=张三

    2.踩坑提示。

    ##连接mysql的时候,注意在package.json下添加,然后需要执行npm install mysql

    ##连接mysql的时候,需要修改自己的mysql的用户名和密码,为宽松模式。

    mysql8.0版本 报错:Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol...

    修改:

    mysql -u root -p

    123456

    use mysql;

    alter user 'root'@'localhost' identified with mysql_native_password by '123456';

    flush privileges;

    注意:123456是我自己连接数据库的密码哈

    相关文章

      网友评论

        本文标题:提供接口的几种常用方式(一,Node.js)

        本文链接:https://www.haomeiwen.com/subject/ttagwftx.html