Maison  >  Article  >  interface Web  >  Express construit un serveur de requêtes simple

Express construit un serveur de requêtes simple

小云云
小云云original
2018-02-11 09:19:021105parcourir

Cet article présente principalement comment utiliser Express pour créer un serveur de requêtes simple. L'éditeur pense que c'est plutôt bien, je vais donc le partager avec vous maintenant et le donner comme référence. Suivons l'éditeur et jetons un œil. J'espère que cela pourra aider tout le monde.

Les piles technologiques utilisées incluent Express et MySQL.

Structure du projet :


service
--node_modules
--app.js
--query.js

Appel de support app.js le service et utilise body-parser pour traiter la demande.

query.js implémente les fonctions de liaison 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({ 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')
})

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({
      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;
})()

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, en passant, je suis plus habitué à utiliser gulp pour le débogage

3. le client utilise post pour appeler l'interface Lors de la distinction de la différence de Content-Type :

Content-Type : application/json;charset=UTF-8 le paramètre est placé dans requestPayload

Content-Type : aucun paramètre Set ou application/x-www-form-urlencoded dans les données du formulaire

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:En savoir plus sur NodeJSArticle suivant:En savoir plus sur NodeJS