0


NODEJS 高级使用 RESTful APIPost

RESTful

Apifox - API 文档、调试、Mock、测试一体化协作平台 - 接口文档工具,接口自动化测试工具,接口Mock工具,API文档工具,API Mock工具,API自动化测试工具

RESTful是一种网络应用程序的设计风格和开发方式 ,是一种接口的规范

返回结果:JSON格式

请求方式

  • get 用于获取资源,查询数据
  • post 用于新建资源,插入数据
  • delete 用于删除资源,删除数据
  • put 用于修改资源,修改数据

接口地址(请求的URL)

带着资源名称(前端),带有版本号

  1. /v1/emps/update
  2. /v1/emps/add
  3. /v1/news/list

传参方式

  • 查找/删除 get传参/ params传参
  • 修改/插入 post传参

APIPost

Apipost-基于协作,不止于API文档、调试、Mock

练习:在app.js下,创建web服务器,设置端口;

练习:在about.js下,创建路由器对象,添加路由(get /detail),响应'请求成功!';暴露路由器对象出去

练习:回到app.js下,引入关于汉唐路由器about.js,挂载路由器,添加前缀/v1/about

app.js

// 引入express模块
const express = require('express')
// 引入关于汉唐路由器
const about = require('./routes/about')
// 引入公司大事件路由器
const event = require('./routes/event')
// 引入旗下公司路由器
const member = require('./routes/member')
// 创建WEB服务器 
const app = express()
// 设置端口
app.listen(3000, () => {
    console.log('服务器启动成功')
})

// 挂载关于汉唐路由器,添加前缀/v1/about
app.use('/v1/about', about)
//  挂载公司大事件路由器,添加前缀/v1/event
app.use('/v1/event', event)
//  挂载公司大事件路由器,添加前缀/v1/member
app.use('/v1/member', member)

练习:在路由中获取传递的参数

练习:在pool.js中创建连接池对象,连接数据库hantang;暴露连接池对象出去

练习:在路由器about.js引入连接模块pool.js,执行SQL命令,查询编号对应的数据,如果数据不存在,响应{code: 400,msg:'数据不存在'} 否则响应{code: 200, msg:'查询成功', data: 查询的数据}

pool.js

// 引入mysql模块
const mysql = require('mysql')
// 创建连接池对象
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')
// 创建路由器对象
const router = express.Router()
// 添加路由
//1.关于汉唐接口(get /detail)
//接口地址:/v1/about/detail
//请求方式:get
router.get('/detail',(req,res)=>{
    // 获取get传递的参数
    var obj = req.query
    console.log(obj)
    // 执行SQL命令
    pool.query('select * from ht_about where aid=?',[obj.aid],(err,r)=>{
        if(err) {
            throw err
        }
        // console.log(r)
        // r 结果是数组,如果是空数组查询失败,否则成功
        if(r.length === 0){
            res.send({code: 400,msg: '数据不存在'})
        }else{
            res.send({code: 200,msg: '查询成功', data: r})
        }
    })
})

// 暴露路由器对象
module.exports = router

练习:添加公司大事件接口(get /event),到ht_event表中查询数据,最后响应{code: 200, msg:'查询成功', data: 数据}

练习:添加旗下公司接口(get /member),到ht_member表中查询数据,最后响应{code: 200, msg:'查询成功', data: 数据}

event.js

// 引入express模块
const express = require('express')
// 引入连接池模块
const pool = require('../pool')
// 创建路由器对象
const router = express.Router()
// 添加路由
//1.关于汉唐接口(get /detail)
//接口地址:/v1/event/detail
//请求方式:get
router.get('/detail', (req, res) => {
    // 获取get传递的参数
    var obj = req.query
    console.log(obj)
    // 执行SQL命令
    pool.query('select * from ht_event where eid=?', [obj.eid], (err, r) => {
        if (err) {
            throw err
        }
        // console.log(r)
        // r 结果是数组,如果是空数组查询失败,否则成功
        if (r.length === 0) {
            res.send({ code: 400, msg: '数据不存在' })
        } else {
            res.send({ code: 200, msg: '查询成功', data: r })
        }
    })
})

// 暴露路由器对象
module.exports = router

member.js

// 引入express模块
const express = require('express')
// 引入连接池模块
const pool = require('../pool')
// 创建路由器对象
const router = express.Router()
// 添加路由
//1.关于汉唐接口(get /detail)
//接口地址:/v1/event/detail
//请求方式:get
router.get('/detail', (req, res) => {
    // 获取get传递的参数
    var obj = req.query
    console.log(obj)
    // 执行SQL命令
    pool.query('select * from ht_member where mid=?', [obj.mid], (err, r) => {
        if (err) {
            throw err
        }
        // console.log(r)
        // r 结果是数组,如果是空数组查询失败,否则成功
        if (r.length === 0) {
            res.send({ code: 400, msg: '数据不存在' })
        } else {
            res.send({ code: 200, msg: '查询成功', data: r })
        }
    })
})

// 暴露路由器对象
module.exports = router
标签: 测试工具 node.js

本文转载自: https://blog.csdn.net/weixin_49739911/article/details/127454963
版权归原作者 巜巜 所有, 如有侵权,请联系我们删除。

“NODEJS 高级使用 RESTful APIPost”的评论:

还没有评论