3步实现模拟数据,前端10分钟轻松实现Node.js搭建最简易的接口!

新建文件夹node,里面放2个空白文件,一个data.js放数据,一个server.js读取数据然后返回

1、data中,定义数据,然后导出到server,data中代码如下

let data = {
  //这里放数据
  "data": {
    code: 200,
    msg: '数据请求成功',
    data: {
      swraperList: ["url1", "url2", "url3"],
      noticeList: ['直播|Vue3.0新特性', '直播|快速上手Java开发']
    }
  }
}
module.exports = {
  //更根据你自己的data格式导出哟
  data: data.data
}

2、server.js文件中开口位置就导入data然后根据if返回数据,所以if的语句就是你定义的接口。(为了节约大家时间,这里只能处理没有参数的GET请求,如果是处理带参数的GET与POST,请看我的注释部分!!!还不明白,去B站找node里面处理get与post,20分钟一定学会!!!然后再来看我的注释)

//引入模块
const http = require("http");
//const url = require('url')这是用来处理带参数的
//const queryString = require('querystring')这也是用来处理带参数的
//导入数据
const data = require("./data");

//以下是处理GET方式提交的请求
//req中的req.url就是域名之后所有的一大串
//使用url模块对req.url进行第一次转换转成Object的形式
//其中对我们目前来说,这个转换后的对象里面属性,最主要的是
//1、path的值为req.url
//2、pathname能获取到?前的路由
//3、search能获取?以及?之后
//4、query能获取?之后的
//其中对目前来说最有用的是query模块所以使用queryString和之前对req.url一样
//把query转化成object

//以下是处理POST方式提交的请求
//POST请求时候会触发DATA事件
//Node端收完请求的触发END事件

//启动命令
//node server.js 
const server = http.createServer((req, res) => {
  //解决跨域问题
  res.setHeader('Access-Control-Allow-Origin', '*');
  res.setHeader('Access-Control-Allow-Headers', 'Content-Type, Content-Length, Authorization, Accept, X-Requested-With , yourHeaderFeild');
  res.setHeader('Access-Control-Allow-Methods', 'PUT, POST, GET, DELETE, OPTIONS');
  res.writeHead(200, {
    'Content-Type': 'application/json'
  });

  //其他地方看不懂没事,就只用知道,这里一个if,就是一个接口
  if (req.url === '/api/index') {
    res.end(JSON.stringify(data.data))
  }


  //处理POST请求
  // let postDate = '';
  // req.on('data',function(datachunk){
  // 	postDate += datachunk.tostring()
  // });
  // req.on('end',function(){

  // 	console.log(postDate)
  // 	res.end();
  // })

});

//监听端口
server.listen(3000, () => {
  console.log("server is ok!")
})

3、在命令行中启动server.js,命令是node server(每次修改data,server,请重新启动一次)
在这里插入图片描述

4、我在if里面定义的是/api/index,愉快的访问吧!
在这里插入图片描述

二、更改data或者server每次都要重启?路由越写越多,觉得不好看?如果你有兴趣了解一点Node,请看这个稍微加强版

明天更新

三、既然假数据都写了这么多,为什么不在多学一点?–node连接mysql

周末更新

四、二和三只是为了兴趣,只是为了接口的同学,也不一定非要看,显得本末倒置。点个赞吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值