美文网首页
node 连接sql返回api

node 连接sql返回api

作者: Rogi | 来源:发表于2019-07-26 22:53 被阅读0次

    学习node不到1个小时扯出来的东西,先拿来顶顶用了= =不懂正规的api是怎么写的,看看就好

    核心思路是,开启一个node服务器,然后监听客户端那边的请求路径,然后判断不同的路径,读取不同的api=。=先拿来救救火吧

    <script>
    var mysql  = require('mysql');          // 加载MySQL
    var express = require('express');    // 加载express
    var http = require('http')                  // 加载http服务器模块
    var server = http.createServ
    var app = express();er()
    
    app.all('*', function(req, res, next) {             //设置跨域访问
      res.header("Access-Control-Allow-Origin", "*");
      res.header("Access-Control-Allow-Headers", "X-Requested-With");
      res.header("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS");
      res.header("X-Powered-By",' 3.2.1');
      res.header("Content-Type", "application/json;charset=utf-8");
      next();
    });
    
     // 连接sql
    var connection = mysql.createConnection({     
      host     : 'localhost',       
      user     : 'root',              
      password : '',       
      port: '3306',                   
      database: 'demo' 
    }); 
     
    // 监听客户端的请求
    server.on('request', function(request, response) {
      //获取请求路径
      let url = request.url
        //判断路径,插入数据
      if (url.indexOf('/apis') > -1) {
        var  addSql = 'INSERT INTO demo(id,name,url,alexa,country) VALUES(0,?,?,?,?)';
        var  addSqlParams = ['小米', 'www.baidu.com','23453', 'CN'];
        //增
        connection.query(addSql,addSqlParams,function (err, result) {
                if(err){
                  console.log('[INSERT ERROR] - ',err.message);
                  return;
                }
        
              console.log('--------------------------INSERT----------------------------');
              console.log('INSERT ID:',result);  
              response.end('插入成功')
              console.log('-----------------------------------------------------------------\n\n'); 
        });
        //判断路径,读取特定的id值
      } else if (url.indexOf('/api') > -1) {
          // 判断id值是否存在
        if (url.indexOf('id=') > -1) {
          console.log(url.split('/api?'))
              // 把id值放在sql查询语句
          var  sql = 'SELECT * FROM `demo` WHERE ' + url.split('/api?')[1];
          //查
          connection.query(sql,function (err, result) {
                  if(err){
                    console.log('[SELECT ERROR] - ',err.message);
                    return;
                  }
                console.log('--------------------------SELECT----------------------------');
                  // 由于返回的是对象,所以把他转换成字符串,否则报错
                response.end(JSON.stringify(result))
                console.log(result)
                console.log('------------------------------------------------------------\n\n');
          })
        }
      }
    })
    // 指定特定端口
    server.listen(3000, function () {
      console.log('服务器启动成功了,可以通过 http: //127.0.0.1:3000来进行访问')
    })
    </script>
    

    相关文章

      网友评论

          本文标题:node 连接sql返回api

          本文链接:https://www.haomeiwen.com/subject/oaodrctx.html