1. 程式人生 > 其它 >node之使用express寫介面

node之使用express寫介面

檔案1:

// 匯入 express
const express = require('express')
// 建立伺服器例項
const app = express()

// 配置解析表單資料的中介軟體
app.use(express.urlencoded({ extended: false }))

// 必須在配置 cors 中介軟體之前,配置 JSONP 的介面
app.get('/api/jsonp', (req, res) => {
  // TODO: 定義 JSONP 介面具體的實現過程
  // 1. 得到函式的名稱
  const funcName = req.query.callback
  
// 2. 定義要傳送到客戶端的資料物件 const data = { name: 'zs', age: 22 } // 3. 拼接出一個函式的呼叫 const scriptStr = `${funcName}(${JSON.stringify(data)})` // 4. 把拼接的字串,響應給客戶端 res.send(scriptStr) }) // 一定要在路由之前,配置 cors 這個中介軟體,從而解決介面跨域的問題 const cors = require('cors') app.use(cors()) // 匯入路由模組 const router = require('./16.apiRouter')
// 把路由模組,註冊到 app 上 app.use('/api', router) // 啟動伺服器 app.listen(80, () => { console.log('express server running at http://127.0.0.1') })

檔案2:

const express = require('express')
const router = express.Router()

// 在這裡掛載對應的路由
router.get('/get', (req, res) => {
  // 通過 req.query 獲取客戶端通過查詢字串,傳送到伺服器的資料
  const query = req.query
  
// 呼叫 res.send() 方法,向客戶端響應處理的結果 res.send({ status: 0, // 0 表示處理成功,1 表示處理失敗 msg: 'GET 請求成功!', // 狀態的描述 data: query, // 需要響應給客戶端的資料 }) }) // 定義 POST 介面 router.post('/post', (req, res) => { // 通過 req.body 獲取請求體中包含的 url-encoded 格式的資料 const body = req.body // 呼叫 res.send() 方法,向客戶端響應結果 res.send({ status: 0, msg: 'POST 請求成功!', data: body, }) }) // 定義 DELETE 介面 router.delete('/delete', (req, res) => { res.send({ status: 0, msg: 'DELETE請求成功', }) }) module.exports = router