目录
- 1 复习下业务流程
- 2 接口设计
- 2.1 查询区域服务
- 2.1.1 接口梳理
- 2.1.2 接口设计
- 2.1.3 接口定义
1 复习下业务流程
区域服务管理是为运营地区设置要运营的服务项,不同地区所运营的服务项可能不同,比如:本平台在北京运营了老人陪护服务,而在郑州没有运营老人陪护服务。
- 进入区域列表 点击“设置服务”
- 进入设置服务页面 这个页面应该展示了该区域当前正在运营及停止未运营的服务信息。
- 添加服务 进入添加服务界面,选择要添加的服务,点击“添加”
- 设置区域价格 区域价格即该服务在该区域的运营价格,输入修改后的价格。
- 上架 服务上架后用户可以在首页的服务列表点击该服务进行下单购买。
ps:当区域服务的状态为草稿状态或下架状态时方可上架。 - 下架 服务下架后用户将不能对该服务下单。
ps:当区域服务的状态为上架状态方可下架。 - 删除 当状态为草稿状态方可删除。
- 设置热门/取消热门 服务设置为热门将在首页显示
2 接口设计
2.1 查询区域服务
2.1.1 接口梳理
通过上述分析在区域服务模块包括以下接口:
- 区域服务分页查询接口
- 区域服务新增接口
- 区域服务删除接口
- 区域服务价格修改接口
- 区域服务设置热门接口
- 区域服务取消热门接口
- 区域服务上架接口
- 区域服务下架接口
2.1.2 接口设计
首先明确该接口是一个前后端交互接口,该接口由前端通过HTTP协议进行调用,前端去调用接口需要知道以下内容:
- HTTP请求方法
- 接口路径
- 请求参数类型
- 请求参数内容
- 响应结果类型
- 响应结果状态码
- 响应结果内容
所以我们设计接口需要设计这些内容。
-
HTTP请求方法
根据RESTful规范:
查询方法用Get,请求参数比较多可用POST
新增方法用POST
修改方法用PUT
删除方法用DELETE
本接口是一个分页查询接口,查询条件我们用GET。 -
接口路径
定义为RESTful风格的路径。
接口路径为:/foundations/operation/serve/page
可以在类上边使用@RequestMapping指定该类中接口的路径的基础路径。
在方法中指定具体的路径。 -
请求参数类型
常用的有:
json格式:application/json,传递json格式字符串,当传递的参数是属于一个对象的属性时可用此格式,比如:新增、修改时通常传递的数据是某个对象的信息就可以使用此格式。
表单格式:application/x-www-form-urlencoded,传递key/value串,就是在url后通过?和&进行拼接的参数,比如:/foundations/operation/serve/page?pageNo=1&pageSize=10
当传递的参数比较杂且不属于某个特定的对象时使用此格式,本接口使用application/x-www-form-urlencoded格式。 -
请求参数内容
请求参数的内容根据需求文档和界面原型去识别。
分页式查询首先有当前页码和每页显示记录数。
对于查询类的接口还有常用的参数有:排序方式、排序字段。
再根据需求的梳理,查询某个区域下的服务需要传递一个区域id。
请求参数如下
参数名称 | 参数说明 | 是否必须 |
---|---|---|
regionId | 区域ID | TRUE |
isASC1 | 排序字段1是否升序 | FALSE |
isASC2 | 排序字段2是否升序 | FALSE |
orderBy1 | 排序字段1 | FALSE |
orderBy2 | 排序字段2 | FALSE |
pageNo | 页码数 | FALSE |
pageSize | 每页条数 | FALSE |
-
响应结果类型
常见的类型有:text/html、text/plain、application/json等。
本项目统一使用application/json -
响应结果状态码规定
HTTP状态码是服务器返回给客户端的数字代码(三位数字),共分为五类:
1xx: 表示服务器接收到了客户端请求并正在处理
2xx: 表示成功状态码
3xx:表示重向定状态码
4xx:表示客户端错误状态码
5xx: 表示服务端错误状态码
当服务端处理成功返回200,其它表示失败。 -
响应结果内容
分页查询通用的响应内容有:数据列表、总页数、总记录数
数据列表中需要分析具体的属性,根据界面原型进行分析:
参数名称 | 参数说明 |
---|---|
severTpeId | 服务类型id |
serveItemName | 服务项名称 |
updateTime | 更新时间 |
saleStatus | 售卖状态 :0草稿,1下架,2上架 |
serveItemId | 服务项id |
referencePrice | 参考价格 |
createTime | 创建时间 |
regionId | 区域id |
price | 价格 |
id | 主键 |
isHot | 是否为热门 |
serveTypeName | 服务类型名称 |
制定分页查询通用的响应内容如下:
msg、code、 data、total、pages是固定的。
data中List数据的内容对于不同的分页查询会不一样。
响应案例:
{"msg": "OK","code": 200,"data": {"list": [{"serveTypeId": 0,"serveItemName": "","updateTime": "","saleStatus": 0,"serveItemId": 0,"referencePrice": 0,"createTime": "","regionId": 0,"price": 0,"id": 0,"isHot": 0,"serveTypeName": ""}],"total": 0,"pages": 0}
}