この記事では、Express を使用して簡単なクエリ サーバーを構築する方法を紹介し、それをみんなに共有します。詳細は次のとおりです。
使用されるテクノロジー スタックには、express と mysql が含まれます。
プロジェクトの構造:
サービス--node_modules--app.js--query.js
app.js は、サービスの呼び出しと、ボディパーサーを使用したリクエストの処理をサポートしています。
query.js は、データベースへのリンクとデータベースへのクエリの機能を実装します。
app.js コードは次のとおりです。
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({ 拡張: 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');//ログin 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') })
query.js コードは次のとおりです。
(function() { var mysql = require('mysql'); // var session = require('cookie-session'); var query = (sql,key) => { var connection = mysql.createConnection({ host: 'localhost'、ユーザー: 'root'、パスワード: 'root123'、データベース: 'm_users' }); Promise((resolve,reject)=>{connection.query(sql,[key],function(error,result,fields){if(error){reject(error)}else{resolve(results); } });接続.end(); }); module.exports = クエリ;})()
実践の概要:
1. Express の入門レベルの使用法、および body-parser および mysql プラグインの使用法。
2. Inspector を使用してノード プログラムをデバッグし、デバッガを実装してみます。ちなみに、私はデバッグに gulp を使用することに慣れています。
3. クライアントが post を使用してインターフェイスを呼び出す場合、Content-Type の違いを区別する必要があります。
Content-Type:application/json;charset=UTF-8 パラメータが requestPayload に配置されます
Content-Type: 設定されていない、または application/x-www-form-urlencoded パラメータがフォーム データに配置されています
以上がこの記事の全内容です。皆様の学習のお役に立てれば幸いです。また、VeVb Wulin Network をご支援いただければ幸いです。