目錄
RESTful
請求方式
接口地址(請求的URL)
傳參方式
APIPost
?
RESTful
Apifox - API 文檔、調(diào)試、Mock、測試一體化協(xié)作平臺 - 接口文檔工具,接口自動化測試工具,接口Mock工具,API文檔工具,API Mock工具,API自動化測試工具
RESTful是一種網(wǎng)絡應用程序的設計風格和開發(fā)方式?,是一種接口的規(guī)范
返回結(jié)果:JSON格式
請求方式
- get 用于獲取資源,查詢數(shù)據(jù)
- post 用于新建資源,插入數(shù)據(jù)
- delete 用于刪除資源,刪除數(shù)據(jù)
- put 用于修改資源,修改數(shù)據(jù)
接口地址(請求的URL)
帶著資源名稱(前端),帶有版本號
- /v1/emps/update
- /v1/emps/add
- /v1/news/list
傳參方式
- 查找/刪除? ? ? ? get傳參/ params傳參
- 修改/插入? ? ? ? post傳參
APIPost
Apipost-基于協(xié)作,不止于API文檔、調(diào)試、Mock
練習:在app.js下,創(chuàng)建web服務器,設置端口;
練習:在about.js下,創(chuàng)建路由器對象,添加路由(get ?/detail),響應'請求成功!';暴露路由器對象出去
練習:回到app.js下,引入關(guān)于漢唐路由器about.js,掛載路由器,添加前綴/v1/about
app.js?
// 引入express模塊
const express = require('express')
// 引入關(guān)于漢唐路由器
const about = require('./routes/about')
// 引入公司大事件路由器
const event = require('./routes/event')
// 引入旗下公司路由器
const member = require('./routes/member')
// 創(chuàng)建WEB服務器
const app = express()
// 設置端口
app.listen(3000, () => {
console.log('服務器啟動成功')
})
// 掛載關(guān)于漢唐路由器,添加前綴/v1/about
app.use('/v1/about', about)
// 掛載公司大事件路由器,添加前綴/v1/event
app.use('/v1/event', event)
// 掛載公司大事件路由器,添加前綴/v1/member
app.use('/v1/member', member)
練習:在路由中獲取傳遞的參數(shù)
練習:在pool.js中創(chuàng)建連接池對象,連接數(shù)據(jù)庫hantang;暴露連接池對象出去
練習:在路由器about.js引入連接模塊pool.js,執(zhí)行SQL命令,查詢編號對應的數(shù)據(jù),如果數(shù)據(jù)不存在,響應{code: 400,msg:'數(shù)據(jù)不存在'} ?否則響應{code: 200, msg:'查詢成功', data: 查詢的數(shù)據(jù)}
?pool.js
// 引入mysql模塊
const mysql = require('mysql')
// 創(chuàng)建連接池對象
const pool = mysql.createPool({
host: '127.0.0.1',
port: '3306',
user: 'root',
password: '',
database: 'hantang',
connectionLimit: '15',
multipleStatements: true
})
// 暴露連接池對象
module.exports = pool
about.js?
// 引入express模塊
const express = require('express')
// 引入連接池模塊
const pool = require('../pool')
// 創(chuàng)建路由器對象
const router = express.Router()
// 添加路由
//1.關(guān)于漢唐接口(get /detail)
//接口地址:/v1/about/detail
//請求方式:get
router.get('/detail',(req,res)=>{
// 獲取get傳遞的參數(shù)
var obj = req.query
console.log(obj)
// 執(zhí)行SQL命令
pool.query('select * from ht_about where aid=?',[obj.aid],(err,r)=>{
if(err) {
throw err
}
// console.log(r)
// r 結(jié)果是數(shù)組,如果是空數(shù)組查詢失敗,否則成功
if(r.length === 0){
res.send({code: 400,msg: '數(shù)據(jù)不存在'})
}else{
res.send({code: 200,msg: '查詢成功', data: r})
}
})
})
// 暴露路由器對象
module.exports = router
練習:添加公司大事件接口(get ?/event),到ht_event表中查詢數(shù)據(jù),最后響應{code: 200, msg:'查詢成功', data: 數(shù)據(jù)}
練習:添加旗下公司接口(get ?/member),到ht_member表中查詢數(shù)據(jù),最后響應{code: 200, msg:'查詢成功', data: 數(shù)據(jù)}
?event.js文章來源:http://www.zghlxwxcb.cn/news/detail-405192.html
// 引入express模塊
const express = require('express')
// 引入連接池模塊
const pool = require('../pool')
// 創(chuàng)建路由器對象
const router = express.Router()
// 添加路由
//1.關(guān)于漢唐接口(get /detail)
//接口地址:/v1/event/detail
//請求方式:get
router.get('/detail', (req, res) => {
// 獲取get傳遞的參數(shù)
var obj = req.query
console.log(obj)
// 執(zhí)行SQL命令
pool.query('select * from ht_event where eid=?', [obj.eid], (err, r) => {
if (err) {
throw err
}
// console.log(r)
// r 結(jié)果是數(shù)組,如果是空數(shù)組查詢失敗,否則成功
if (r.length === 0) {
res.send({ code: 400, msg: '數(shù)據(jù)不存在' })
} else {
res.send({ code: 200, msg: '查詢成功', data: r })
}
})
})
// 暴露路由器對象
module.exports = router
?member.js文章來源地址http://www.zghlxwxcb.cn/news/detail-405192.html
// 引入express模塊
const express = require('express')
// 引入連接池模塊
const pool = require('../pool')
// 創(chuàng)建路由器對象
const router = express.Router()
// 添加路由
//1.關(guān)于漢唐接口(get /detail)
//接口地址:/v1/event/detail
//請求方式:get
router.get('/detail', (req, res) => {
// 獲取get傳遞的參數(shù)
var obj = req.query
console.log(obj)
// 執(zhí)行SQL命令
pool.query('select * from ht_member where mid=?', [obj.mid], (err, r) => {
if (err) {
throw err
}
// console.log(r)
// r 結(jié)果是數(shù)組,如果是空數(shù)組查詢失敗,否則成功
if (r.length === 0) {
res.send({ code: 400, msg: '數(shù)據(jù)不存在' })
} else {
res.send({ code: 200, msg: '查詢成功', data: r })
}
})
})
// 暴露路由器對象
module.exports = router
到了這里,關(guān)于NODEJS 高級使用 RESTful APIPost的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!