摘要:嘗試使用調試程序,實現個人更習慣使用來調試客戶端使用調取接口的時候要區分的區別參數放在不設置或者參數放在
使用到的技術棧有express、mysql.
項目結構:
service --node_modules --app.js --query.js
app.js支持調用服務,使用body-parser對request進行處理.
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({ 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") })
query.js代碼如下:
; (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; })()
實踐總結:
1.express的入門級用法,以及對body-parser和mysql插件的用法。
2.嘗試使用 Inspector調試node程序,實現debugger,by the way 個人更習慣使用gulp來調試.
3.客戶端使用post調取接口的時候要區分Content-Type的區別:
Content-Type:application/json;charset=UTF-8 參數放在requestPayload
Content-Type:不設置或者application/x-www-form-urlencoded 參數放在Form Data
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/107336.html
摘要:框架應用程序是一個保持最小規模的靈活的應用程序開發框架,為和移動應用程序提供一組強大的功能。路由基本使用下載新建一個文件,然后輸入然后運行打開就出現請求和響應應用使用回調函數的參數和對象來處理請求和響應的數據。 Express框架 Web 應用程序 Express 是一個保持最小規模的靈活的 Node.js Web 應用程序開發框架,為 Web 和移動應用程序提供一組強大的功能。 AP...
摘要:先建個簡單的服務器當然你先得安裝使用,如果這里的代碼復制后運行不了請移步我的下載源碼順手給我個小星星鼓勵哈運行后訪問默認匹配的路由是,多個要使用方法,但是使用了,或者就不能使用到達下一個了是添加路由的方法,忽略大小寫,反斜杠,進行匹配時不 先建個簡單的服務器 當然你先得安裝express npm install express //使用express,如果這里的代碼復制后運行不了請移步...
摘要:實踐由于是一種規范,它不是一種實現,如果要自己實現還是比較難的,不用擔心,強大的開源社區已經幫我們準備好了,這就是開源項目。然后執行這樣項目就啟動了,如下圖注這里存在跨域問題,所以服務器端需要使用解決跨域問題,具體看代碼。 為什么要用graphql? 讓我們先回顧一下我們現在所使用的API設計風格 純rest:一個endpoint對應一個資源 優點:靈活、解構缺點:由于一個endpoi...
摘要:指定需要處理的路由回調函數,即請求此路由的處理函數,它可以接收兩個參數三個參數,四個參數。如果匹配到自定義的路由,立即執行回調函數,如果處理函數中沒有則不再往下執行,如果執行了會繼續向下匹配。 簡介 Node.js? is a JavaScript runtime built on Chromes V8 JavaScript engine. Node.js uses an event-...
閱讀 3455·2023-04-26 02:31
閱讀 3621·2021-11-23 09:51
閱讀 1286·2021-11-17 09:33
閱讀 2436·2021-11-16 11:45
閱讀 2566·2021-10-11 11:12
閱讀 2406·2021-09-22 15:22
閱讀 2713·2021-09-04 16:40
閱讀 2569·2021-07-30 15:30