web开发,前后分离接口规范

站长手记 作者: 2024-08-28 14:15:01
目前我们现在用的前后端分离模式属于第一阶段,下一阶段可以在前端工程化方面,对技术框架的选择、前端模块化重用方面,可多做考量。也就是要迎来“==前端为主的 MV* 时代==”。

1. 前言


2. 为何要分离

a3b3ebfd302c88061cca4d0725a2dce8.jpg
后端为主的MVC时代


3. 什么是分离

eb5e3668a0658ce894b35ec785b1324f.jpg
基于 Ajax 带来的 SPA 时代
659d9ff31e4b6129176687875d70eefa.jpg
浏览器端的分层架构


4. 如何做分离

4.1 职责分离

a75f4043d13257559e02a4da29ad9378.jpg
职责分离
后端 前端
提供数据 接收数据,返回数据
处理业务逻辑 处理渲染逻辑
Server-side MVC架构 Client-side MV* 架构
代码跑在服务器上 代码跑在浏览器上

4.2 开发流程

771f7dcc01e6b600b71db21dc5cb2b19.jpg
开发流程

4.3 具体实施

c4f18a946b40bb4588a46cea7f3bdf33.jpg
接口文档+Mock平台服务器


5. 接口规范V1.0.0

5.1 规范原则

5.2 基本格式

5.2.1 请求基本格式

e19c61305abd8a925a3bdfec1de1d222.jpg
POST请求

5.2.2 响应基本格式

{
    code: 200,
    data: {
        message: "success"
    }
}

5.3 响应实体格式

{
    code: 200,
    data: {
        message: "success",
        entity: {
            id: 1,
            name: "XXX",
            code: "XXX"
        }
    }
}

5.4 响应列表格式

{
    code: 200,
    data: {
        message: "success",
        list: [
            {
                id: 1,
                name: "XXX",
                code: "XXX"
            },
            {
                id: 2,
                name: "XXX",
                code: "XXX"
            }
        ]
    }
}

5.5 响应分页格式

{
    code: 200,
    data: {
        recordCount: 2,
        message: "success",
        totalCount: 2,
        pageNo: 1,
        pageSize: 10,
        list: [
            {
                id: 1,
                name: "XXX",
                code: "H001"
            },
            {
                id: 2,
                name: "XXX",
                code: "H001"
            } ],
        totalPage: 1
    }
}

5.6 特殊内容规范

5.6.1 下拉框、复选框、单选框

{
    code: 200,
    data: {
        message: "success",
        list: [{
            id: 1,
            name: "XXX",
            code: "XXX",
            isSelect: 1
        }, {
            id: 1,
            name: "XXX",
            code: "XXX",
            isSelect: 0
        }]
    }
}

5.6.2 Boolean类型

5.6.3 日期类型


6. 未来的大前端

原创声明
本站部分文章基于互联网的整理,我们会把真正“有用/优质”的文章整理提供给各位开发者。本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
本文链接:http://www.jiecseo.com/news/show_70163.html