一、业务处理模块
1.搭建HTTP服务器实现与客户端浏览器的网络通信,接收客户端请求
实现:基于HTTPLIB库搭建HTTP服务器
2.分析请求,确定这个请求是个什么请求,然后进行对应的业务处理,返回结果
业务请求中:
静态资源:静态页面请求(餐厅首页html文件)
动态数据:
菜品信息:获取所有菜品信息请求,获取指定菜品信息请求,新增菜品请求,修改菜品请求,删除菜品请求
订单信息:获取所有订单信息请求,获取指定订单信息请求,新增订单请求,修改订单请求,删除订单请求
1.网络通信接口设计(菜品信息的业务请求通信api接口设计)
定义收到了什么样的数据,就表示这是一个什么请求
1.1RESTFUL风格接口设计
基于HTTP协议,资源在HTTP正文中采用XML/JSON数据格式
不同的请求方法,表示对资源的不同的操作
GET:获取资源
POST:新增资源
PUT:更新资源
DELETE:删除资源
URI:表示要操作的资源
1.1.1新增菜品
POST/dish HTTP/1.1
Content-Type:application/json
Content-Length:XXXXX
....
{"name":"青椒肉丝","price":10,"info":"青椒吵肉丝"}
正确响应:
HTTP/1.1 200 OK
.....
错误响应:
HTTP/1.1 400 bad req
...
{"result":false,"reason":"请求数据格式错误"}
1.1.2删除菜品
DELETE/dish HTTP/1.1
Content-Length:0
...
正确响应:
HTTP/1.1 200 OK
.....
1.1.3修改菜品
PUT/dish HTTP/1.1
Content-Type:application/json
Content-Length:XXXXX
....
{"name":"青椒肉丝","price":10,"info":"青椒爆炒肉丝"}
1.1.4获取所有菜品信息
GET/dish HTTP/1.1
...
1.1.5获取指定菜品信息
GET/dish/1 HTTP/1.1
...