Cet article explique comment créer un serveur de requêtes simple à l'aide d'Express et le partager avec tout le monde. Les détails sont les suivants :
Les piles technologiques utilisées incluent Express et MySQL.
Structure du projet :
service--node_modules--app.js--query.js
app.js prend en charge les services d'appel et l'utilisation de body-parser pour traiter les demandes.
query.js implémente les fonctions de liaison à la base de données et d'interrogation de la base de données.
Le code app.js est le suivant :
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({ étendu : false }))//L'objet renvoyé est une paire clé-valeur Lorsque extend est faux, la valeur dans la paire clé-valeur est sous la forme de 'String' ou 'Array'. Lorsqu'elle est vraie, elle peut être n'importe laquelle. type de données. app.use(bodyParser.json())//Support inter-domaines app.all('*', function(req, res, next) { res.header(Access-Control-Allow-Origin, *); res. en-tête (« 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'); dans app.post('/login',(req,res)=>{ var opts = req.body; query( SELECT *FROM `v_users` WHERE userAcount = ?,opts.userName).then((result)=>{ var réponse = result[0]; if(opts.password !== réponse.u_password){ return res.send({ errorCode:'404', errorMsg:'Mot de passe de connexion incorrect' }) } //Simuler et générer loginToken var loginToken = réponse.userAcount + Math.random()*Math.pow(10,16) res.send({ loginToken:loginToken }) })})var server = app.listen(3000,()=>{ console.log('success') })
Le code query.js est le suivant :
(function() { var mysql = require('mysql'); // var session = require('cookie-session'); var query = (sql,key) => { var connection = mysql.createConnection({ hôte : 'localhost', utilisateur : 'root', mot de passe : 'root123', base de données : 'm_users' }); connection.connect() var promise = new Promesse((résolution, rejet)=>{ connexion.query(sql,[clé], fonction(erreur, résultats, champs) { if(erreur){ rejet(erreur) }else{ résolution(résultats); } }); connection.end(); }); return promise; } module.exports = query;})()
Résumé de la pratique :
1. Utilisation d'entrée de gamme d'Express, ainsi que utilisation des plug-ins body-parser et mysql.
2. Essayez d'utiliser Inspector pour déboguer le programme de nœud et implémenter le débogueur. Personnellement, je suis plus habitué à utiliser gulp pour le débogage.
3. Lorsque le client utilise post pour appeler l'interface, il doit distinguer la différence de Content-Type :
Le paramètre Content-Type:application/json;charset=UTF-8 est placé dans requestPayload
Content-Type : non défini ou le paramètre application/x-www-form-urlencoded est placé dans les données du formulaire
Ce qui précède représente l’intégralité du contenu de cet article. J’espère qu’il sera utile à l’étude de chacun. J’espère également que tout le monde soutiendra le réseau VeVb Wulin.