二.【NodeJs入门学习】接口及GET接口

1.服务路由

我们需要写项目的一些路由,就是请求的api:

接下来我们需要将这个方法引入创建服务的时候:

如果我们可以拿到返回的数据blogData,那么整个请求就可以结束了,并返回字符串json数据,如上图所示;

2.在页面直接访问api

现在我们其实基本的GET接口已经写好了,要点就是:

1)为了工程化,把所有api都放在routes文件中方便处理;

2)传入req的属性method进行方法的判断,后期可以处理更加复杂的逻辑,然后返回相应我(json字符串)

3)现在我们其实可以直接访问现有的GET方法了:

 接口已经调通了。

3.如果访问的url并没有声明

 如果我们访问的api没有在路由文件中声明那么我们就在浏览器上声明404,数据格式是text,这也是后台处理的常用方法,我们来设置一下返回头和返回数据,res.writeHead、res.write这两个方法提供给我们去设置res,由res.end去结束请求,代码和请求如下:

4.GET请求

如果放一个带有参数的get请求,我们应该怎么做:

1)处理req发送带来的请求

http://localhost:8080/api/list?garde=1

我们带了一个garde参数,查询年级是1的数据,使用querystring去解析?后面参数数据:

const queryString = require('querystring');

req.query = queryString.parse(url.split('?')[1]);

2)接口数据处理

理论上我们接收到req的入参应该去查询数据库,现在我们先写死数据,

const { SuccessModal } = require('../modal/resModal');
const { getList } = require('../utils');

// 处理路由
const handleRoutes = (req, res) => {
    const method = req.method;
    if (method === 'GET' && req.url === '/api/list') {
        const grade = req.query.grade;
        // 可以使用入参去做一些业务上的处理查询等操作
        const data = getList(grade);
        return new SuccessModal(data);
    }
}

①getList函数就是数据的处理,我们把这个函数放在工具类里面:

const getList = (data) => {
    console.log(data);
    // 理论上应该从数据库查询数据,暂时写死假数据
    return [
        {
            garde: 1,
            teacher: 'Lee',
            students: 20
        },
        {
            garde: 1,
            teacher: 'Wang',
            students: 34
        }
    ]
}

module.exports = {
    getList
}

②还有个成功的模型,如下所示:

class basicModal {
    constructor(data, message) {
        if (typeof data === 'string') {
            this.message = data;
            data = null;
            message = null;
        }
        if (data) {
            this.data = data
        }
        if (message) {
            this.message = message
        }
    }
}

// 成功模型
class SuccessModal extends basicModal {
    constructor (data, message) {
        super(data, message);
        this.status = 200;
    }
}

当有数据返回,调用成功的模型,因为成功的模型会继承基本模型,基本模型中又会把data设为this.data,并返回status 是200

然后在入口文件中res.end打印,和之前写的代码一样的:

 关于数据就是getList方法中直接返回的json数据。

到这里我们学习了get请求的基本处理方式,上面代码像基本模型还是很值得学习写法的,下一章我们自己去写一下POST方法。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值