編寫接口連接并查詢數(shù)據(jù)庫數(shù)據(jù)(二)

開發(fā)環(huán)境準備(一)

Postman

安裝測試工具postman
不想下載軟件的話可以用谷歌插件postman
這個東西是測試用的,不需要的可以不下載

mysql依賴
cnpm install mysql --save
連接數(shù)據(jù)庫 router/user.js
var mysql=require('mysql');  //引入mysql
//數(shù)據(jù)庫配置 
var db={
    mysql:{
        host:'localhost',  
        user:'****',  //數(shù)據(jù)庫用戶名
        password:'****',  //數(shù)據(jù)庫密碼
        database:'test',  //要鏈接的數(shù)據(jù)庫
        port:3306  //默認端口
    }
}
var selAll='select * from list';  //先寫個簡單的查詢語句
var pool=mysql.createPool(db.mysql)  //建立連接池
//改造下默認的get路由
router.get('/list', function(req, res, next) {
    pool.getConnection(function(err,suc){
        suc.query(selAll,[],function(err,res){
            console.log(res)
        })
    })
});
測試結果
npm start  //啟動項目測試

打開postman輸入請求地址


get請求與url

查看node打印的結果


數(shù)據(jù)庫兩條測試數(shù)據(jù)返回成功

到此,成功寫了一個簡單的get請求接口,你會發(fā)現(xiàn)postman發(fā)送請求后一直在等待狀態(tài),這是因為node沒有對請求做出回應,數(shù)據(jù)庫也未在鏈接后關閉,接下來吧這個結果進行返回
繼續(xù)改造get路由
router.get('/list', function(req, res, next) {
    pool.getConnection(function(err,suc){
        suc.query(selAll,[],function(err,result){
            if(result){ //數(shù)據(jù)庫有返回數(shù)據(jù)
                result={    //返回數(shù)據(jù)與格式
                    code:200,
                    msg:'獲取測試列表成功',
                    data:result
                }
            }
            res.json(result);   //響應返回json數(shù)據(jù)
            suc.release();  //關閉數(shù)據(jù)庫連接
        })
    })
});
測試結果

每次對node代碼的修改都要重啟node才能生效
如果覺得麻煩可以了解下Supervisor(自動重啟)
還是用postman訪問之前你的接口


成功拿到返回的json數(shù)據(jù)

接收post請求并查詢需要的數(shù)據(jù)(三)

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容