美文网首页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