五-get和post接口
get
作用
一般用来获取数据
实例
实现返回json数据的接口
const express = require('express')
const app = express()
//获取一个食物信息接口
//食物id
//食物名称
//食物描述
app.get('/food', (req, res)=> {
res.send({
foodId:1,
foodName:'青椒肉丝',
description:"切丝的青椒炒切丝的肉,很好吃哦"
})
})
app.listen(3000,()=>{
console.log('服务开启了');
})
实现带一个参数的接口
const express = require("express");
const app = express();
//接口:根据传递过来的英雄名返回一个英雄外号.
//参数:用户传递过来的英雄名.
app.get("/getNickNameByHeroName", (req, res) => {
//console.log(req);//是一个对象
//console.log(req.query); //用户传递过来的参数,存在req.query这个对象中 { heroName: '提莫' }
//下面这句话就可以获取到用户传递过来的英雄名.
//const heroName = req.query.heroName;
//使用下面es6的解构新语法,获取用户传递过来的英雄名,保存在变量heroName中
const { heroName } = req.query;
console.log(heroName);
//准备一个保存英雄外号的变量
let nickName = null;
//准备外号
switch (heroName) {
case "提莫":
nickName = "迅捷斥候";
break;
case "盖伦":
nickName = "德玛西亚之力";
break;
default:
nickName = "不知道的英雄哦";
break;
}
//返回数据
res.send({
msg: "成功",
code: 200,
// nickName:nickName
nickName
});
});
app.listen(3000, () => {
console.log("服务开启了");
});
post
接口接收文本数据
//写一个带有文本参数的 登录接口
//登录就要有参数: 用户名 密码
//导入express 模块
const express = require('express');
//导入 body-parser这个第三方模块
var bodyParser = require('body-parser');
const app = express();
//使用 body-parser 第三方模块, 作用是设置请求头
//设置请求头的意思是, 把用户传递过来的参数转成url的格式
// parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({ extended: false }))
//写接口
app.post('/login',(req,res)=>{
//接收用户传递过来的用户名和密码.
//那如何获取用户post方式传递过来的参数呢
//需要使用第三方模块 body-parser ,来获取用户传递过来的参数.
//先打印req看看.
console.log(req.body); //是一个对象,里面就保存了用户传递过来的值.
//解构获取用户传递过来的参数.
const {username,password} = req.body;
//声明一个obj对象,用来保存返回用户的信息.
let obj = null;
//判断
if(username == 'admin' && password == '123456'){
obj = {
code:200,
msg:'登录成功'
}
}else {
obj = {
code:401,
msg:'账号或密码错误'
}
}
//返回
res.send(obj);
});
//开启服务
app.listen(3000,()=>{
console.log('服务开启了');
});
接收FormData文件
//实现一个接口: 注册
//要注册的话,用户需要传递过来:用户名,密码,用户头像
//导包
const express = require('express');
var multer = require('multer')
const app = express();
//下面这句话的作用是,给你创建一个uploads文件夹.
var upload = multer({ dest: 'uploads/' })
//注册使用post方式
app.post('/register',upload.single('userIcon'), function (req, res, next) {
// req.file is the `userIcon` file
// req.body will hold the text fields, if there were any
console.log(req.file); //接收文件参数
console.log(req.body); //接收文本参数
//我写接口,我规定用户使用formData传递数据
//用户传递过来的数据,如何接收.
//使用第三方模块 multer来接收.
res.send('成功');
})
//开启服务
app.listen(3000,()=>{
console.log('服务开启成功了...');
});