NODEJS 高级使用 RESTful APIPost

目录

RESTful

请求方式

接口地址(请求的URL)

传参方式

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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值