使用express搭建一个简单的查询服务器的方法

网友投稿 215 2023-02-17


使用express搭建一个简单的查询服务器的方法

本文介绍了使用express搭建一个简单的查询服务器的方法,分享给大家,具体如下:

使用到的技术栈有express、mysql.

项目结构:

service

--node_modules

--app.js

--query.js

app.js支持调用服务,使用body-parser对request进行处理.

query.js实现链接数据库以及查询数据库的功能.

app.js代码如下:

var express = require('express');

var query = require('./query')

var bodyParser = require('body-parser');

var cookieParser = require('cookie-parser');

var app = express();

app.use(bodyParser.urlencoded({ extended: false }))//返回的对象是一个键值对,当extended为false的时候,键值对中的值就为'String'或'Array'形式,为true的时候,则可为任何数据类型。

app.use(bodyParser.json())

//跨域支持

app.all('*', function(req, res, next) {

res.header("Access-Control-Allow-Origin", "*");

res.header('Access-Control-Allow-Methods', 'PUT, GET, POST, DELETE, OPTIONS');

rldYFPdHMes.header("Access-Control-Allow-Headers", "X-Requested-With");

res.header('Access-Control-Allow-Headers', 'Content-Type');

next();

});

//登录

app.post('/login',(req,res)=>{

var opts = req.body;

query(" SELECT *FROM `v_users` WHERE userAcount = ?",opts.userName).then((result)=>{

var response = result[0];

if(opts.password !== response.u_password){

return res.send({

errorCode:'404',

errorMsg:'登录密码错误'

})

}

//模拟生成loginToken

var loginToken = response.userAcount + Math.random()*Math.pow(10,16)

res.send({

loginToken:loginToken

})

})

})

var server = app.listen(3000,()http://=>{

console.log('success')

})

query.js代码如下:

(function() {

var mysql = require('mysql');

// var session = require('cookie-session');

var query = (sql,key) => {

var connection = mysql.createConnection({

host: 'localhost',

user: 'root',

password: 'root123',

database: 'm_users'

});

connection.connect()

var promise = new Promise((resolve,reject)=>{

connection.query(sql,[key], function(error, results, fields) {

if(error){

reject(error)

}else{

resolve(results);

}

});

connection.end();

});

return promise;

}

module.exports = query;

})()

实践总结:

1.express的入门级用法,以及对body-parser和mysql插件的用法。

2.尝试使用 Inspector调试node程序,实现debugger,by the way 个人更习惯使用gulp来调试.

3.客户端使用post调取接口的时候要区分Content-Type的区别:

Content-Type:application/json;charset=UTF-8 参数放在requestPayload

Content-Type:不设置或者application/x-www-form-urlencoded 参数放在Form Data


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:局域网设置不了共享文件夹(如何在局域网内设置共享文件夹)
下一篇:接口测试参数化(什么是接口参数化)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~