基于之前所获取的猫眼电影的信息来对电影购票网站进行实现,用到了微服务的一些原理,因为Django是自带Restful支持的,所以还是比较方便,这里的数据是基于数据库的,如果要实现实时查询,需要对代码进行一定更改,可以使用celery进行分布式处理
接口详情
1. 获取电影列表
URL : GET /movies/
I. 查看成功响应信息
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept
[
{
"movie_base_id": 1,
"movie_name": "5月天诺亚方舟",
"time": "2013-09-19",
"star": 8.8,
"vision": "3D",
"ellipsis": "Mayday nowhere 3D",
"type": "科幻,灾难,动作",
"pic": "image/5月天诺亚方舟_pic.jpg",
"ellipsis_length": 17
},
{
"movie_base_id": 2,
"movie_name": "厉鬼将映",
"time": "2008-10-30",
"star": 9.1,
"vision": "",
"ellipsis": "โปรแกรมหน้า วิญญาณอาฆาต",
"type": "动画,动作,冒险",
"pic": "image/厉鬼将映_pic.jpg",
"ellipsis_length": 23
},
......
II. 响应参数说明
name | type | value |
---|---|---|
movie_base_id | int | 电影ID |
movie_name | string | 电影名 |
time | string | 上映时间 |
star | string | 评分 |
vision | string | 维度 |
ellipsis | string | 缩写 |
type | string | 类型 |
pic | string | 图片 |
ellipsis_length | int | 缩写长度 |
2. 获取电影详情信息
Get movies/movie_id
I. 查看成功响应信息
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept
[
{
"movie_detail_id": 10,
"movie_base_id": 1,
"movie_name": "5月天诺亚方舟",
"time": "2013-09-19",
"star": 9.0,
"type": "纪录片,音乐",
"vision": "3D",
"ellipsis": "Mayday nowhere 3D",
"ellipsis_length": 17,
"duration": "114",
"introduction": "2011年,首部华人3D音乐电影《五月天追梦3DNA》公映并受到影迷热捧,两年后的新作《诺亚方舟》除了仍采用3D技术拍摄,影片将重现五月天演唱会的狂欢画面,满场歌迷手持蓝色荧光棒,仿佛置身蓝色海洋,更有歌迷激动落泪,让人身临其境体验到五月天现场演唱的魅力与氛围。该片随着五月天诺亚方舟世界巡回演唱会重生场的举行而展开拍摄,相信音乐表示,歌迷的感动以及过去两年的经历,也透过镜头记录在画面里面,希望歌迷可以通过电影重温感动。",
"timg": "image/5月天诺亚方舟_timg.jpg",
"pic": "image/5月天诺亚方舟_pic.jpg",
"stills1": "image/5月天诺亚方舟_stills1.jpg",
"stills2": "image/5月天诺亚方舟_stills2.jpg",
"stills3": "image/5月天诺亚方舟_stills3.jpg",
"stills4": "image/5月天诺亚方舟_stills4.jpg"
}
]
II. 请求参数说明
name | type | value |
---|---|---|
movie_id | int | 电影ID |
III. 响应参数说明
name | type | value |
---|---|---|
movie_detail_id | int | 电影详情页ID |
movie_base_id | int | 电影ID |
movie_name | string | 电影名 |
time | string | 上映时间 |
star | string | 评分 |
type | string | 类型 |
vision | string | 维度 |
ellipsis | string | 缩写 |
duration | string | 电影时间 |
introduction | string | 电影简介 |
introduction | string | 电影简介 |
timg | string | 封面 |
pic | string | 缩略图 |
stills1 | string | 剧照 |
3. 获取电影院列表
GET cinemas/movie_id
I. 查看成功响应信息
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept
[
{
"cinema_id": 1,
"cinema_name": "保利万和国际影城(都江堰店)",
"movie_base_id": 1,
"movie_name": "5月天诺亚方舟",
"city": "成都",
"address": "都江堰市彩虹大道南段295号(22点后请走斯维登公寓电梯)",
"price": "28",
"distance": 13.77
},
{
"cinema_id": 2,
"cinema_name": "天智创客影城(川外店)",
"movie_base_id": 1,
"movie_name": "5月天诺亚方舟",
"city": "成都",
"address": "都江堰市大观镇高尔夫大街367号四川外国语大学成都学院33栋百汇园4楼",
"price": "30",
"distance": 17.77
},
......
II. 响应参数说明
name | type | value |
---|---|---|
cinema_id | int | 电影院ID |
cinema_name | string | 电影院名 |
movie_base_id | int | 电影名 |
city | string | 城市名 |
address | string | 电影院地址 |
price | string | 电影院最低价格 |
distance | string | 电影院距离 |
###2.4 获取订单基础信息
GET cinemas/movie_base_id/cinema_id
I. 查看成功响应信息
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept
[
{
"movie_id": "1",
"movie_name": "5月天诺亚方舟",
"vision": "3D",
"cinema_id": "1",
"cinema_name": "保利万和国际影城(都江堰店)",
"time": "09-19",
"price": "28",
"duration": "114"
}
II. 响应参数说明
name | type | value |
---|---|---|
movie_id | int | 电影ID |
movie_name | string | 电影名 |
vision | int | 电影缩写 |
cinema_id | string | 电影院id |
cinema_name | string | 电影院名字 |
time | string | 上映时间 |
price | string | 价格 |
duration | string | 电影长度 |
其他
此外还有其他比如日期、场次、用户方面的接口,可以具体进行查看测试,整体逻辑比较简单,直接看代码和注释就能理解。