Skip to content

wuyuxing-996/amovie

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

基于spring boot的电影订票网站

项目介绍: 该项目是实现网上购票为主的电影网站,主要功能有购买电影票,电影的展示,排行,推荐,评分及评论等。后台包括了电影,资讯,类别,场次等一系列实体的操作,增删改查实现管理。

部分功能动图如下

登录

image

订票

image

排行榜

image

评分

image

添加到播放列表

image

Moive后台接口文档

合理使用以下类:

  • org.springframework.http.ResponseEntity
  • org.springframework.http.HttpStatus

使用POST/PUT发送JSON数据时,反序列化成对象需要在参数上加@RequestBody注解。

在浏览器上使用PUT/DELETE时会遇见跨域问题,原因在于浏览器遵循同源策略,具体信息见链接https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Access_control_CORS,使用Postman不会遇见此类问题,但需引起重视。

Postman的Header请设置成Content-Type: application/json,但凡请求数据为以下格式的,都需在Postman的Body下的raw下发送:

{
	"name": ""
}

类别

获取类别列表(分页)

请求方式:GET
请求地址:/categories
请求参数:

参数值 参数类型 是否必须 说明
page int 否,默认1 页码
size int 否,默认20 每页大小

-----返回结构
HTTP状态码:200 -- 数据

获取所有类别列表(不分页)

请求方式:GET
请求地址:/categories/all
请求参数:无
返回数据格式:

[
    {
        "id": 1,
        "name": "动作"
    },
    {
        "id": 2,
        "name": "爱情"
    }
]
参数值 参数类型 是否必须 说明
id int 类别id
name String 类别名称

获取类别

请求方式:GET
请求地址:/categories/{id}
路径参数:

参数值 参数类型 是否必须 说明
id int id

-----返回结构
HTTP状态码:200 -- 数据
HTTP状态码:404 -- 资源未找到

创建类别

请求方式:POST
请求头:Content-Type: application/json;charset=utf-8
请求地址:/categories
请求数据:

{
	"name": "value"
}
参数值 参数类型 是否必须 说明
name String 类别名称

-----返回结构
HTTP状态码:200 -- 成功
HTTP状态码:400 -- 创建失败

修改类别

请求方式:PUT
请求头:Content-Type: application/json;charset=utf-8
请求地址:/categories/{id}
路径参数:

参数值 参数类型 是否必须 说明
id int 类别id

请求数据:

{
	"name": "value"
}
参数值 参数类型 是否必须 说明
name String 类别名称

-----返回结构
HTTP状态码:200 -- 成功
HTTP状态码:400 -- 修改失败
HTTP状态码:404 -- 资源未找到

删除类别

请求方式:DELETE
请求头:Content-Type: application/json;charset=utf-8
请求地址:/categories/{id}
路径参数:

参数值 参数类型 是否必须 说明
id int 类别id

HTTP状态码:200 -- 成功
HTTP状态码:400 -- 删除失败
HTTP状态码:404 -- 资源未找到

资讯

获取资讯列表

请求方式:GET
请求地址:/news
请求参数:

参数值 参数类型 是否必须 说明
page int 否,默认1 页码
size int 否,默认20 每页大小

HTTP状态码:200 -- 数据

获取资讯

请求方式:GET
请求地址:/news/{id}
路径参数:

参数值 参数类型 是否必须 说明
id int id

-----返回结构
HTTP状态码:200 -- 数据
HTTP状态码:404 -- 资源未找到

创建资讯

请求方式:POST
请求头:Content-Type: application/json;charset=utf-8
请求地址:/news
请求数据:

{
	"content": "value"
}
参数值 参数类型 是否必须 说明
content String 资讯

-----返回结构
HTTP状态码:200 -- 成功
HTTP状态码:400 -- 创建失败

修改资讯

请求方式:PUT
请求头:Content-Type: application/json;charset=utf-8
请求地址:/news/{id}
请求数据:

{
	"content": "value"
}
参数值 参数类型 是否必须 说明
content String 资讯

-----返回结构
HTTP状态码:200 -- 成功
HTTP状态码:400 -- 修改失败
HTTP状态码:404 -- 资源未找到

删除资讯

请求方式:DELETE
请求头:Content-Type: application/json;charset=utf-8
请求地址:/news/{id}
路径参数:

参数值 参数类型 是否必须 说明
id String id

-----返回结构
HTTP状态码:200 -- 成功
HTTP状态码:400 -- 删除失败
HTTP状态码:404 -- 资源未找到

电影

获取电影列表

请求方式:GET
请求地址:/movies
请求参数:

参数值 参数类型 是否必须 说明
page int 否,默认1 页码
size int 否,默认20 每页大小

HTTP状态码:200 -- 数据

获取电影

请求方式:GET
请求地址:/movies/{id}
路径参数:

参数值 参数类型 是否必须 说明
id int id

-----返回结构
HTTP状态码:200 -- 数据
HTTP状态码:404 -- 资源未找到

根据类别获取电影列表

请求方式:GET
请求地址:/movies
请求参数:

参数值 参数类型 是否必须 说明
categoryIds int[] 类型id
page int 页数
size int 每页大小

-----返回结构
HTTP状态码:200 -- 数据

创建电影

请求方式:POST
请求头:Content-Type: application/json;charset=utf-8
请求地址:/movies
请求数据:

{
	"name": "name",
  "duration": 123,
  "directors": "",
  "actors": "",
  "releaseDate": "",
  "categoryIds": [1,2],
  "status": "",
  "plot": "",
  "poster": "",
  "country": ""
}
参数值 参数类型 是否必须 说明
name String 电影名称
duration int 时长
directors String 导演
actors String 演员
releaseDate Date/String 上映日期
categoryIds int[] 类别id,多个类别
status int/String 上映状态,默认未上映
plot String 剧情
poster String 电影海报链接
country String 国家

-----返回结构
HTTP状态码:200 -- 成功
HTTP状态码:400 -- 创建失败

修改电影

请求方式:PUT
请求头:Content-Type: application/json;charset=utf-8
请求地址:/movies/{id}
请求数据:

{
	"name": "name",
  "duration": 120,
  "directors": "",
  "actors": "",
  "releaseDate": "",
  "categoryIds": [1],
  "status": "",
  "plot": "",
  "poster": "",
  "country": ""
}
参数值 参数类型 是否必须 说明
id int id
name String 电影名称
duration int 时长
directors String 导演
actors String 演员
releaseDate Date/String 上映日期
categoryIds int[] 类别id
status int/String 上映状态,默认未上映
plot String 剧情
poster String 电影海报链接
country String 国家

-----返回结构
HTTP状态码:200 -- 成功
HTTP状态码:400 -- 更新失败
HTTP状态码:404 -- 资源未找到
备注:该对象更新时并非全部字段更新,仅向后端传输需要更新的字段。例如:
PUT /movies/1

{
    "name": "乘风破浪",
    "directors": "韩寒",
    "actors": "邓超,彭于晏,赵丽颖,董子健,高华阳,张本煜,李荣浩"
}

删除电影

请求方式:DELETE
请求头:Content-Type: application/json;charset=utf-8
请求地址:/movies/{id}
路径参数:

参数值 参数类型 是否必须 说明
id String id

-----返回结构
HTTP状态码:200 -- 成功
HTTP状态码:400 -- 删除失败
HTTP状态码:404 -- 资源未找到

场次

获取场次列表

请求方式:GET
请求地址:/scenes
请求参数:

参数值 参数类型 是否必须 说明
page int 否,默认1 页码
size int 否,默认20 每页大小

HTTP状态码:200 -- 数据

获取场次

请求方式:GET
请求地址:/scenes/{id}
路径参数:

参数值 参数类型 是否必须 说明
id int id

-----返回结构
HTTP状态码:200 -- 数据
HTTP状态码:404 -- 资源未找到

获取电影下的场次

请求方式:GET
请求地址:/movies/{id}/scenes
路径参数:

参数值 参数类型 是否必须 说明
id int 电影id

-----返回结构
HTTP状态码:200 -- 数据
备注:某个电影下没有场次或者有多个场次,没有场次也应该返回HTTP状态码200。
**

创建场次

请求方式:POST
请求头:Content-Type: application/json;charset=utf-8
请求地址:/scenes
请求数据:

{
	"movieId": "",
  "movieName": "",
  "price": 20,
  "seatNum": 166,
  "showtime": "12:10",
  "bookedSeat": ["A2", "B3"]
}
参数值 参数类型 是否必须 说明
movieId int 电影id
movieName String 电影名称
price int 该场次的价格
seatNum int 座位数,默认数
showtime String/Date 播放时间
bookedSeat String[] 已预定的座位

-----返回结构
HTTP状态码:200 -- 成功
HTTP状态码:400 -- 创建失败

修改场次

请求方式:PUT
请求头:Content-Type: application/json;charset=utf-8
请求地址:/scenes/{id}
路径参数:

参数值 参数类型 是否必须 说明
id int id

请求数据:

{
	"movieId": "",
  "movieName": "",
  "price": 20,
  "seatNum": 166,
  "showtime": "12:10",
  "bookedSeat": ["A2", "B3"]
}
参数值 参数类型 是否必须 说明
movieId int 电影id
movieName String 电影名称
price int 该场次的价格
seatNum int 座位数,默认数
showtime String/Date 播放时间
bookedSeat String[] 已预定的座位

-----返回结构
HTTP状态码:200 -- 成功
HTTP状态码:400 -- 修改失败
HTTP状态码:404 -- 资源未找到

删除场次

请求方式:DELETE
请求头:Content-Type: application/json;charset=utf-8
请求地址:/scenes/{id}
路径参数:

参数值 参数类型 是否必须 说明
id String id

-----返回结构
HTTP状态码:200 -- 成功
HTTP状态码:400 -- 删除失败
HTTP状态码:404 -- 资源未找到

评分

获取某部电影的评分

请求方式:GET
请求地址:/movies/{id}/ranks
路径参数:

参数值 参数类型 是否必须 说明
id int 电影id

HTTP状态码:200 -- 数据
HTTP状态码:404 -- 资源未找到

创建评分

请求方式:POST
请求头:Content-Type: application/json;charset=utf-8
请求地址:/ranks
请求数据:

{
  "userId": 7,
  "movieId": 2,
  "score": 1
}
参数值 参数类型 是否必须 说明
movieId int 电影id
userId int 用户id
score int 评分

-----返回结构
HTTP状态码:200 -- 成功
HTTP状态码:400 -- 创建失败
备注:评分的范围在1-5之间,整数。

更新评分

请求方式:PUT
请求头:Content-Type: application/json;charset=utf-8
请求地址:/movies/{id}
请求数据:

{
  "userId": 7,
  "movieId": 2,
  "score": 1
}
参数值 参数类型 是否必须 说明
movieId int 电影id
userId int 用户id
score int 评分

-----返回结构
HTTP状态码:200 -- 成功
HTTP状态码:400 -- 更新失败
HTTP状态码:404 -- 资源未找到

About

基于springboot的电影订票网站

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published