之前用获取来的猫眼电影信息来对电影购票网站进行实现,用到了微服务的一些原理,因为Django是自带Restful支持的,所以还是比较方便,这里的数据是基于数据库的,如果要实现实时查询,需要对代码进行一定更改,可以使用celery进行分布式处理
接口详情
1. 获取电影列表
URL : GET /movies/
a. 查看成功响应信息
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
},
......
复制代码
b. 响应参数说明
nametypevaluemovie_base_idint电影IDmovie_namestring电影名timestring上映时间starstring评分visionstring维度ellipsisstring缩写typestring类型picstring图片ellipsis_lengthint缩写长度
2. 获取电影详情信息
Get movies/movie_id
a. 查看成功响应信息
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"
}
]
复制代码
b. 请求参数说明
nametypevaluemovie_idint电影ID
c. 响应参数说明
nametypevaluemovie_detail_idint电影详情页IDmovie_base_idint电影IDmovie_namestring电影名timestring上映时间starstring评分typestring类型visionstring维度ellipsisstring缩写durationstring电影时间introductionstring电影简介introductionstring电影简介timgstring封面picstring缩略图stills1string剧照
3. 获取电影院列表
GET cinemas/movie_id
a. 查看成功响应信息
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
},
......
复制代码
b. 响应参数说明
nametypevaluecinema_idint电影院IDcinema_namestring电影院名movie_base_idint电影名citystring城市名addressstring电影院地址pricestring电影院最低价格distancestring电影院距离
4 获取订单基础信息
GET cinemas/movie_base_id/cinema_id
a. 查看成功响应信息
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"
}
复制代码
b. 响应参数说明
nametypevaluemovie_idint电影IDmovie_namestring电影名visionint电影缩写cinema_idstring电影院idcinema_namestring电影院名字timestring上映时间pricestring价格durationstring电影长度
其他
此外还有其他比如日期、场次、用户方面的接口,可以具体进行查看测试,整体逻辑比较简单,直接看代码和注释就能理解。