用户使用 Web 客户端访问 Web 系统,系统在收到请求后执行操作 (收集数据模型,选择数据经行组装),将结果返回给客户。
其中包括的元素和关系如下图所示:
约定
每个规范也会对应若干规定若干规则约定来指导前后端工程师的具体实施。
页面入口规范(范例)
条目 | 详情 |
---|---|
访问地址 | /dj/{id} |
页面描述 | 节目详情及推荐信息 |
输入参数 | 名称:ID;类型:Number;描述:节目标示 |
异常跳转 | 异常:500;跳转地址:/500/ |
模板列表 | 默认:/template/dj/dj.ftl |
过期:/template/dj/over.ftl |
|
未找到:/template/dj/404.ftl |
|
接口列表 | 歌曲列表:/api/dj/tracks/{id}/ |
相关节目:/api/dj/rec/{id}/ |
|
收藏节目:/api/dj/fav/{id}/ |
|
评论节目:/api/comments/{id} |
同步数据规范(范例)
条目 | 详情 |
---|---|
模板文件 | /templates/dj/dj.ftl |
模板描述 | 节目详情及推荐信息模板文件 |
预填信息 | {"名称":"user", "类型":"User","描述":"登陆用户信息"} |
{"名称":"dj", "类型":"Program","描述":"节目信息"} |
|
{"名称":"other", "类型":"String","描述":"其他信息"} |
|
注入接口 | jd.parser |
{"输入":[["String", "节目信息"], ["Boolean", "是否格式化"]]} |
|
{"输出":["Program", "节目对象"]} |
|
dj.api | |
dj.api2 |
异步接口规范(范例)
条目 | 详情 |
---|---|
请求方式 | GET POST |
接口地址 | api/dj/tracks/{id}/ |
接口描述 | 获取指定节目的歌曲列表 |
输入数据 | {"名称":"id", "类型":"Number","描述":"节目标示"} |
{"名称":"offset", "类型":"Number","描述":"节目起始位置"} |
|
{"名称":"limit", "类型":"Number","描述":"列表数量"} |
|
输出结果 | {"名称":" code", "类型":"Number","描述":"请求结果标示"} |
{"名称":"message", "类型":"String","描述":"请求异常信息"} |
|
{"名称":"result", "类型":"Array","描述":"歌曲列表"} |
通过模拟数据的形成,将前端本地开发与后端独立出来, 这样前端工程师就可以独立的进行本地的开发工作。
使用页面入口规范制定项目结构(配置信息,目录结构和模板结构), 此过程可以使用自动化工具自动完成。
根据同步数据规范可生成模拟数据的配置文件。(此部分通用可以使用自动化工具来完成)
根据异步接口规范生成模拟异步数据。
前端开发环境包含两个部分,本地模拟服务器和本地代理。
Local Server
根据请求规则进行匹配,然后生成(整合模板和模拟数据)所请求的页面
Local Proxy
拦截异步请求后,根据请求的匹配规则返回所请求的数据(例如 JSON 或 XML)。
前后端联调需要去除本地环境,在实际开发中只需要对配置文件进行调整既可 (控制哪些请求需要被本地服务器或代理拦截,哪些需要使用远程服务器)。