You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
236 lines
5.7 KiB
236 lines
5.7 KiB
|
3 years ago
|
# Spring 笔记2
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
图书后端
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
Table Name: Books
|
||
|
|
Columns:
|
||
|
|
- Book ID (Primary Key)
|
||
|
|
- Title
|
||
|
|
- Author
|
||
|
|
- ISBN
|
||
|
|
- Genre
|
||
|
|
- Publication Date
|
||
|
|
- Number of Pages
|
||
|
|
- Available Copies
|
||
|
|
|
||
|
|
Table Name: Patrons
|
||
|
|
Columns:
|
||
|
|
- Patron ID (Primary Key)
|
||
|
|
- First Name
|
||
|
|
- Last Name
|
||
|
|
- Email
|
||
|
|
- Phone Number
|
||
|
|
- Address
|
||
|
|
- Library Card Number
|
||
|
|
- Date of Birth
|
||
|
|
- Registration Date
|
||
|
|
|
||
|
|
Table Name: Checkouts
|
||
|
|
Columns:
|
||
|
|
- Checkout ID (Primary Key)
|
||
|
|
- Book ID (Foreign Key to Books)
|
||
|
|
- Patron ID (Foreign Key to Patrons)
|
||
|
|
- Checkout Date
|
||
|
|
- Due Date
|
||
|
|
- Return Date
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
需求:
|
||
|
|
|
||
|
|
1. 功能模块:
|
||
|
|
|
||
|
|
有、发布文章、上传文件、记录学习(包含:笔记、思维导图
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
下面是一份图书馆系统的用户模块的API请求结构的示例:
|
||
|
|
|
||
|
|
用户注册:
|
||
|
|
请求地址:/register
|
||
|
|
请求方法:POST
|
||
|
|
请求参数:username、password、email、phone_number
|
||
|
|
返回结果:{'code': 0, 'msg': 'Success'} 或 {'code': 1, 'msg': 'Username has been registered'}
|
||
|
|
用户登录:
|
||
|
|
请求地址:/login
|
||
|
|
请求方法:POST
|
||
|
|
请求参数:username、password
|
||
|
|
返回结果:{'code': 0, 'msg': 'Success', 'user_id': 123} 或 {'code': 1, 'msg': 'Username or password is incorrect'}
|
||
|
|
获取用户信息:
|
||
|
|
请求地址:/user/{user_id}
|
||
|
|
请求方法:GET
|
||
|
|
请求参数:无
|
||
|
|
返回结果:{'code': 0, 'msg': 'Success', 'data': {'username': 'john', 'email': 'john@example.com', 'phone_number': '1234567890'}}
|
||
|
|
以上是一个简单的图书馆系统用户模块的API请求结构的示例,具体的结构可以根据项目的需求进行调整。
|
||
|
|
|
||
|
|
如果您想删除用户的API请求结构,可以这样设计:
|
||
|
|
|
||
|
|
DELETE /api/v1/users/{user_id}: 删除指定ID的用户
|
||
|
|
请求示例:
|
||
|
|
|
||
|
|
DELETE /api/v1/users/12345
|
||
|
|
|
||
|
|
HTTP/1.1 200 OK
|
||
|
|
Content-Type: application/json;charset=UTF-8
|
||
|
|
|
||
|
|
{
|
||
|
|
"message": "User deleted successfully"
|
||
|
|
}
|
||
|
|
|
||
|
|
响应示例:
|
||
|
|
|
||
|
|
如果删除成功,返回 HTTP 状态码 200 和提示信息 "User deleted successfully"。
|
||
|
|
请注意,这仅是一个示例。您可以根据您的需求和数据模型来设计具体的API接口。
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
| API Endpoint | HTTP Method | Description | Request Body | Response Body |
|
||
|
|
| ------------ | ----------- | ----------------------- | ------------ | --------------------- |
|
||
|
|
| /books | GET | Get a list of all books | N/A | Array of book objects |
|
||
|
|
| /books/:id | GET | Get a single book by ID | N/A | Book object |
|
||
|
|
| /books | POST | Add a new book | Book object | Book object |
|
||
|
|
| /books/:id | PUT | Update a book by ID | Book object | Book object |
|
||
|
|
| /books/:id | DELETE | Delete a book by ID | N/A | Success message |
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
Endpoint: /api/books
|
||
|
|
Method: GET
|
||
|
|
Description: Get a list of all books in the library
|
||
|
|
|
||
|
|
Endpoint: /api/books/{id}
|
||
|
|
Method: GET
|
||
|
|
Description: Get a single book by its ID
|
||
|
|
|
||
|
|
Endpoint: /api/books
|
||
|
|
Method: POST
|
||
|
|
Description: Add a new book to the library
|
||
|
|
Request Body:
|
||
|
|
{
|
||
|
|
"title": "The Great Gatsby",
|
||
|
|
"author": "F. Scott Fitzgerald",
|
||
|
|
"publisher": "Charles Scribner's Sons",
|
||
|
|
"publishedDate": "April 10, 1925",
|
||
|
|
"description": "The Great Gatsby is a novel by American author F. Scott Fitzgerald. The story takes place in 1922, during the Roaring Twenties, a time of great social and cultural change in the United States.",
|
||
|
|
"isbn": "9780743273565",
|
||
|
|
"category": "Fiction"
|
||
|
|
}
|
||
|
|
|
||
|
|
Endpoint: /api/books/{id}
|
||
|
|
Method: PUT
|
||
|
|
Description: Update an existing book in the library
|
||
|
|
Request Body:
|
||
|
|
{
|
||
|
|
"title": "The Great Gatsby",
|
||
|
|
"author": "F. Scott Fitzgerald",
|
||
|
|
"publisher": "Charles Scribner's Sons",
|
||
|
|
"publishedDate": "April 10, 1925",
|
||
|
|
"description": "The Great Gatsby is a novel by American author F. Scott Fitzgerald. The story takes place in 1922, during the Roaring Twenties, a time of great social and cultural change in the United States.",
|
||
|
|
"isbn": "9780743273565",
|
||
|
|
"category": "Fiction"
|
||
|
|
}
|
||
|
|
|
||
|
|
Endpoint: /api/books/{id}
|
||
|
|
Method: DELETE
|
||
|
|
Description: Remove a book from the library
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
借阅管理请求结构:
|
||
|
|
|
||
|
|
Endpoint URL: /api/borrow-management
|
||
|
|
HTTP Method: POST
|
||
|
|
Request Body:
|
||
|
|
{
|
||
|
|
"book_id": 123,
|
||
|
|
"user_id": 456,
|
||
|
|
"borrow_date": "2023-02-11"
|
||
|
|
}
|
||
|
|
Request Headers:
|
||
|
|
{
|
||
|
|
"Content-Type": "application/json",
|
||
|
|
"Authorization": "Bearer abcdefghijklmnopqrstuvwxyz"
|
||
|
|
}
|
||
|
|
Response Body:
|
||
|
|
{
|
||
|
|
"borrow_id": 789,
|
||
|
|
"book_id": 123,
|
||
|
|
"user_id": 456,
|
||
|
|
"borrow_date": "2023-02-11",
|
||
|
|
"return_date": "2023-03-11"
|
||
|
|
}
|
||
|
|
Response Headers:
|
||
|
|
{
|
||
|
|
"Content-Type": "application/json",
|
||
|
|
"Status": "200 OK"
|
||
|
|
}
|
||
|
|
|
||
|
|
用户请求图书借阅管理功能的请求结构可以这样设计:
|
||
|
|
|
||
|
|
用户请求获取图书列表:
|
||
|
|
请求方法:GET
|
||
|
|
请求地址:/books
|
||
|
|
请求参数:无
|
||
|
|
响应数据:图书列表,每一项包含图书名称、作者、出版社、ISBN编号等信息。
|
||
|
|
用户请求借阅图书:
|
||
|
|
请求方法:POST
|
||
|
|
请求地址:/books/borrow
|
||
|
|
请求参数:图书ID,用户ID。
|
||
|
|
响应数据:借阅成功/失败信息。
|
||
|
|
用户请求归还图书:
|
||
|
|
请求方法:POST
|
||
|
|
请求地址:/books/return
|
||
|
|
请求参数:图书ID,用户ID。
|
||
|
|
响应数据:归还成功/失败信息。
|
||
|
|
用户请求查询借阅历史:
|
||
|
|
请求方法:GET
|
||
|
|
请求地址:/history
|
||
|
|
请求参数:用户ID
|
||
|
|
响应数据:借阅历史列表,每一项包含图书名称、借阅时间、归还时间等信息。
|
||
|
|
以上是图书借阅管理功能的简单请求结构,在实际开发过程中,还需要考虑更多的细节,例如安全性、异常处理等。
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
# 状态:
|
||
|
|
|
||
|
|
成功:
|
||
|
|
|
||
|
|
1.返回数据对象【包含200 请求头部码
|
||
|
|
|
||
|
|
2.返回登录提示【包含200 请求头部码
|
||
|
|
|
||
|
|
3.返回支付提示【包含200 请求头部码
|
||
|
|
|
||
|
|
4.返回下载提示【包含200 请求头部码
|
||
|
|
|
||
|
|
5.返回
|
||
|
|
|
||
|
|
失败:
|
||
|
|
|
||
|
|
1.支付失败
|
||
|
|
|
||
|
|
2.登录失败
|
||
|
|
|
||
|
|
3.查询失败
|
||
|
|
|
||
|
|
4.获取失败
|
||
|
|
|
||
|
|
5.加载失败
|
||
|
|
|
||
|
|
6.网络繁忙
|
||
|
|
|
||
|
|
----
|
||
|
|
|
||
|
|
## 数据库配置
|
||
|
|
|
||
|
|
连接数量4000
|
||
|
|
|
||
|
|
|
||
|
|
|