news 2026/6/25 22:00:56

web第八次作业

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
web第八次作业

一、接口文档

1. 管理员登录

1.1 管理员登录

基本信息

请求参数

格式:application/x-www-form-urlencoded

参数名类型是否必须备注
usernamestring必须管理员账号
passwordstring必须管理员密码

请求示例

username=admin&password=123456

响应数据

格式:application/json

参数名类型是否必须备注
codenumber必须200成功,500失败
messagestring非必须提示信息

响应示例

{ "code": 200, "message": "success" }

2. 图书管理

2.1 查询所有图书

基本信息

项目内容
请求路径/api/book/list
请求方式GET
接口描述查询所有图书列表

请求参数

响应数据

格式:application/json

参数名类型是否必须备注
codenumber必须200成功,500失败
messagestring非必须提示信息
dataarray非必须图书列表

data字段说明

参数名类型备注
idnumber图书ID
namestring书名
authorstring作者
publisherstring出版社
isbnstringISBN号
categorystring分类
stocknumber库存数量

响应示例

{ "code": 200, "message": "success", "data": [ { "id": 1, "name": "Java编程思想", "author": "Bruce Eckel", "publisher": "机械工业出版社", "isbn": "978-7-111-12345-6", "category": "编程", "stock": 10 } ] }

2.2 搜索图书

基本信息

项目内容
请求路径/api/book/search
请求方式GET
接口描述根据关键字搜索图书

请求参数

格式:application/x-www-form-urlencoded

参数名类型是否必须备注
keywordstring必须搜索关键字(书名/作者)

请求示例

/api/book/search?keyword=Java

响应数据

格式:application/json

参数名类型是否必须备注
codenumber必须200成功,500失败
messagestring非必须提示信息
dataarray非必须匹配的图书列表

响应示例

{ "code": 200, "message": "success", "data": [ { "id": 1, "name": "Java编程思想", "author": "Bruce Eckel", "publisher": "机械工业出版社", "stock": 10 } ] }

2.3 添加图书

基本信息

项目内容
请求路径/api/book/add
请求方式POST
接口描述添加新图书

请求参数

格式:application/json

参数名类型是否必须备注
namestring必须书名
authorstring必须作者
publisherstring非必须出版社
isbnstring非必须ISBN号
categorystring非必须分类
stocknumber必须库存数量

请求示例

json

{ "name": "Spring Boot实战", "author": "Craig Walls", "publisher": "人民邮电出版社", "isbn": "978-7-115-23456-7", "category": "编程", "stock": 8 }

响应数据

格式:application/json

参数名类型是否必须备注
codenumber必须200成功,500失败
messagestring非必须提示信息
datastring非必须附加信息

响应示例

json

{ "code": 200, "message": "添加成功", "data": null }

2.4 更新图书

基本信息

项目内容
请求路径/api/book/update
请求方式PUT
接口描述更新图书信息

请求参数

格式:application/json

参数名类型是否必须备注
idnumber必须图书ID
namestring必须书名
authorstring必须作者
publisherstring非必须出版社
isbnstring非必须ISBN号
categorystring非必须分类
stocknumber必须库存数量

请求示例

json

{ "id": 1, "name": "Java编程思想(第4版)", "author": "Bruce Eckel", "publisher": "机械工业出版社", "isbn": "978-7-111-12345-6", "category": "编程", "stock": 5 }

响应示例

json

{ "code": 200, "message": "更新成功", "data": null }

2.5 删除图书

基本信息

项目内容
请求路径/api/book/delete/{id}
请求方式DELETE
接口描述根据ID删除图书

请求参数

参数名类型是否必须备注
idnumber必须图书ID(路径参数)

请求示例

DELETE /api/book/delete/1

响应示例

json

{ "code": 200, "message": "删除成功", "data": null }

3. 读者管理

3.1 查询所有读者

基本信息

项目内容
请求路径/api/reader/list
请求方式GET
接口描述查询所有读者列表

请求参数

响应数据

参数名类型备注
idnumber读者ID
usernamestring登录用户名
namestring姓名
phonestring电话
emailstring邮箱
idCardstring身份证号
enabledboolean是否启用

响应示例

json

{ "code": 200, "message": "success", "data": [ { "id": 1, "username": "zhangsan", "name": "张三", "phone": "13800001111", "email": "zhangsan@email.com", "idCard": "110101199001011234", "enabled": true } ] }

3.2 添加读者

基本信息

项目内容
请求路径/api/reader/add
请求方式POST
接口描述添加新读者

请求参数

格式:application/json

参数名类型是否必须备注
usernamestring必须登录用户名
namestring必须姓名
passwordstring必须密码
phonestring非必须电话
emailstring非必须邮箱
idCardstring必须身份证号

请求示例

json

{ "username": "wangwu", "name": "王五", "password": "123456", "phone": "13800003333", "email": "wangwu@email.com", "idCard": "110101199003031234" }

响应示例

json

{ "code": 200, "message": "添加成功", "data": null }

3.3 删除读者

基本信息

项目内容
请求路径/api/reader/delete/{id}
请求方式DELETE
接口描述根据ID删除读者

请求示例

DELETE /api/reader/delete/1

响应示例

json

{ "code": 200, "message": "删除成功", "data": null }

4. 借阅管理

4.1 借书

基本信息

项目内容
请求路径/api/borrow/borrow
请求方式POST
接口描述借阅图书

请求参数

格式:application/x-www-form-urlencoded

参数名类型是否必须备注
bookIdnumber必须图书ID
readerIdnumber必须读者ID

请求示例

bookId=1&readerId=1

响应示例

json

{ "code": 200, "message": "借书成功", "data": null }

错误响应

json

{ "code": 500, "message": "借书失败,请检查库存或是否已借", "data": null }

4.2 还书

基本信息

项目内容
请求路径/api/borrow/return
请求方式POST
接口描述归还图书

请求参数

格式:application/x-www-form-urlencoded

参数名类型是否必须备注
recordIdnumber必须借阅记录ID

请求示例

recordId=1

响应示例

json

{ "code": 200, "message": "还书成功", "data": null }

4.3 查询借阅记录

基本信息

项目内容
请求路径/api/borrow/list
请求方式GET
接口描述查询所有借阅记录

请求参数

响应数据

参数名类型备注
idnumber记录ID
bookIdnumber图书ID
readerIdnumber读者ID
bookNamestring图书名称
readerNamestring读者姓名
borrowDatestring借阅日期
dueDatestring应还日期
returnDatestring归还日期
statusstring状态:borrowed/returned/overdue

响应示例

json

{ "code": 200, "message": "success", "data": [ { "id": 1, "bookId": 1, "readerId": 1, "bookName": "Java编程思想", "readerName": "张三", "borrowDate": "2026-06-24 14:19:58", "dueDate": "2026-07-01 14:19:58", "returnDate": null, "status": "borrowed" } ] }

4.4 查询未归还记录

基本信息

项目内容
请求路径/api/borrow/unreturned
请求方式GET
接口描述查询所有未归还的借阅记录

响应示例

json

{ "code": 200, "message": "success", "data": [ { "id": 1, "bookName": "Java编程思想", "readerName": "张三", "borrowDate": "2026-06-24 14:19:58", "dueDate": "2026-07-01 14:19:58", "status": "borrowed" } ] }

5. 读者端接口(前台)

5.1 读者登录

基本信息

项目内容
请求路径/front/loginCheck
请求方式POST
接口描述读者登录验证

请求参数

格式:application/x-www-form-urlencoded

参数名类型是否必须备注
usernamestring必须读者账号
passwordstring必须读者密码

请求示例

username=zhangsan&password=123456

响应示例

成功:redirect:/front/index
失败:redirect:/front/login


5.2 读者注册

基本信息

项目内容
请求路径/front/register
请求方式POST
接口描述读者注册

请求参数

格式:application/x-www-form-urlencoded

参数名类型是否必须备注
namestring必须姓名
usernamestring必须登录账号
passwordstring必须密码
idCardstring必须身份证号
phonestring非必须电话

请求示例

name=王五&username=wangwu&password=123456&idCard=110101199003031234

响应示例

成功:redirect:/front/login
失败:redirect:/front/register(带错误信息)


5.3 读者借书

基本信息

项目内容
请求路径/front/borrow
请求方式POST
接口描述读者自助借书

请求参数

格式:application/x-www-form-urlencoded

参数名类型是否必须备注
bookIdnumber必须图书ID

响应示例

json

{ "code": 200, "message": "借书成功", "data": null }

5.4 读者还书

基本信息

项目内容
请求路径/front/return
请求方式POST
接口描述读者自助还书

请求参数

格式:application/x-www-form-urlencoded

参数名类型是否必须备注
recordIdnumber必须借阅记录ID

响应示例

json

{ "code": 200, "message": "还书成功", "data": null }

二,数据库表

CREATE TABLE admin ( id INT IDENTITY(1,1) PRIMARY KEY, username VARCHAR(50) NOT NULL UNIQUE, password VARCHAR(100) NOT NULL, created_at DATETIME DEFAULT GETDATE() ); GO CREATE TABLE book ( id INT IDENTITY(1,1) PRIMARY KEY, name VARCHAR(100) NOT NULL, author VARCHAR(50) NOT NULL, publisher VARCHAR(100), isbn VARCHAR(20), category VARCHAR(50), location VARCHAR(50), stock INT DEFAULT 0, created_at DATETIME DEFAULT GETDATE() ); GO CREATE TABLE reader ( id INT IDENTITY(1,1) PRIMARY KEY, username VARCHAR(50) NULL UNIQUE, name VARCHAR(50) NOT NULL, phone VARCHAR(20), email VARCHAR(100), id_card VARCHAR(18) UNIQUE, password VARCHAR(100) NULL, enabled BIT DEFAULT 1, created_at DATETIME DEFAULT GETDATE() ); GO CREATE TABLE borrow_record ( id INT IDENTITY(1,1) PRIMARY KEY, book_id INT NOT NULL, reader_id INT NOT NULL, borrow_date DATETIME DEFAULT GETDATE(), due_date DATETIME, return_date DATETIME, status VARCHAR(20) DEFAULT 'borrowed', fine DECIMAL(10,2) DEFAULT 0, FOREIGN KEY (book_id) REFERENCES book(id), FOREIGN KEY (reader_id) REFERENCES reader(id) ); GO 测试数据 管理员 INSERT INTO admin (username, password) VALUES ('admin', '123456'); GO 图书 INSERT INTO book (name, author, publisher, category, stock) VALUES ('Java编程思想', 'Bruce Eckel', '机械工业出版社', '编程', 10), ('Spring Boot实战', 'Craig Walls', '人民邮电出版社', '编程', 8), ('深入理解Java虚拟机', '周志明', '机械工业出版社', '编程', 5); GO 读者 INSERT INTO reader (username, name, phone, id_card, password, enabled) VALUES ('zhangsan', '张三', '13800001111', '110101199001011234', '123456', 1), ('lisi', '李四', '13800002222', '110101199002021234', '123456', 1); GO 借阅记录 INSERT INTO borrow_record (book_id, reader_id, due_date) VALUES (1, 1, DATEADD(day, 7, GETDATE())); GO

三、增删改查页面


版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/25 21:59:46

Java毕设项目: 民宿宾馆客房入住智能化管理系统设计与实现 酒店客房状态更新与入住预约管理系统设计与实现(源码+文档,讲解、调试运行,定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/6/25 21:52:14

前端组件库开发指南

前端组件库开发指南:构建高效可复用的UI解决方案 在当今快节奏的前端开发领域,组件库已成为提升开发效率、保证产品一致性的核心工具。无论是企业内部项目还是开源生态,一套设计规范统一、功能完备的组件库能显著减少重复劳动,加…

作者头像 李华
网站建设 2026/6/25 21:44:25

口碑好的江西靠谱单招机构哪家好

对于江西的考生和家长来说,选择一家靠谱的单招培训机构,直接关系到备考效率和升学结果。在众多机构中,新佰乐学凭借多年深耕、扎实的办学成果和良好的口碑,成为众多学子信赖的选择。为何推荐新佰乐学?1. 办学底蕴深厚&…

作者头像 李华
网站建设 2026/6/25 21:38:58

1.3 java面试题:索引优化(以 MySQL InnoDB 为例)

明白了,我理解错上下文了。你问的“索引优化”和“慢SQL优化”是纯 Java 面试中关于数据库(典型是 MySQL)的那部分内容,跟 ES 没关系。我重新用 Java 技术面的老练视角,把这两个核心点讲透。一、索引优化(以…

作者头像 李华