This time I will bring you how to build a query server with express. What are the precautions for express to build a query server? The following is a practical case, let’s take a look.
This article introduces the method of using express to build a simple query server and shares it with everyone. The details are as follows:
The technology stacks used include express and mysql.
Project structure:
service --node_modules --app.js --query.js
app.js supports calling services and using body-parser to process requests.
query.js implements the functions of linking to the database and querying the database.
The app.js code is as follows:
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'); res.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,()=>{ console.log('success') })
The query.js code is as follows:
(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; })()
Practice summary:
1. Entry-level usage of express, as well as usage of body-parser and mysql plug-ins.
2. Try to use Inspector to debugnode program and implement debugger, by the way. I am more accustomed to using gulp for debugging.
3.When the client uses post to call the interface, it must distinguish the difference of Content-Type:
Content-Type:application/json;charset=UTF-8 parameter is placed in requestPayload
Content-Type: is not set or application/x-www-form-urlencoded parameter is placed in Form Data
I believe you have mastered the method after reading the case in this article. For more exciting information, please pay attention to other related articles on the php Chinese website!
Recommended reading:
Express multer implements the specific steps to upload node images
How vue operates static images and network images
The above is the detailed content of How to build a query server in express. For more information, please follow other related articles on the PHP Chinese website!