node-06-get和post接口

五-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('服务开启成功了...');
});
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值