Este artigo apresenta como construir um servidor de consulta simples usando Express e compartilhá-lo com todos.
As pilhas de tecnologia usadas incluem express e mysql.
Estrutura do projeto:
serviço--node_modules--app.js--query.js
app.js oferece suporte à chamada de serviços e ao uso do analisador de corpo para processar solicitações.
query.js implementa as funções de vinculação ao banco de dados e consulta ao banco de dados.
O código app.js é o seguinte:
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({ estendido: falso }))//O objeto retornado é um par de valores-chave Quando estendido é falso, o valor no par de valores-chave está na forma de 'String' ou 'Array'. tipo de dados. app.use(bodyParser.json())//Suporte entre domínios app.all('*', function(req, res, next) { res.header(Access-Control-Allow-Origin, *); res. cabeçalho ('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();});//Login app.post('/login',(req,res)=>{ var opts = req.body; query( SELECT *FROM `v_users` WHERE userAcount = ?,opts.userName).then((result)=>{ var resposta = resultado[0]; if(opts.password !== resposta.u_password){ return res.send({ errorCode:'404', errorMsg:'Senha de login incorreta' }) } //Simular e gerar loginToken var loginToken = response.userAcount + Math.random()*Math.pow(10,16) res.send({ loginToken:loginToken }) })})var server = app.listen(3000,()=>{ console.log('sucesso') })
O código query.js é o seguinte:
(function() { var mysql = require('mysql'); // var session = require('cookie-session'); var query = (sql,key) => { var connection = mysql.createConnection({ host: 'localhost', usuário: 'root', senha: 'root123', banco de dados: 'm_users' }); Promise((resolver,reject)=>{ connection.query(sql,[key], function(erro, resultados, campos) { if(error){ rejeitar(erro) }else{ resolver(resultados); } }); connection.end(); }); retornar promessa } module.exports = query;})()
Resumo da prática:
1. Uso básico de express, bem como uso de analisador de corpo e plug-ins mysql.
2. Tente usar o Inspector para depurar o programa do nó e implementar o depurador. Pessoalmente, estou mais acostumado a usar o gulp para depuração.
3. Quando o cliente usa post para chamar a interface, ele deve distinguir a diferença do Content-Type:
Content-Type:application/json;charset=UTF-8 parâmetro é colocado em requestPayload
Content-Type: Não definido ou o parâmetro application/x-www-form-urlencoded é colocado em Form Data
O texto acima é todo o conteúdo deste artigo. Espero que seja útil para o estudo de todos. Também espero que todos apoiem a Rede VeVb Wulin.