一个非常简单的简易留言板,具备了:用户注册、登录、发表留言、获取所有留言、删除留言的功能
首先go run main.go --db 初始化数据库表格(在dao中修改密码和操作数据库)
- URL:
/register
- 方法:
POST
- 描述: 用户注册接口,接收用户名、昵称和密码,注册新用户。
- 请求参数:
参数名 | 类型 | 说明 |
---|---|---|
nickname | string | 用户昵称 |
username | string | 用户名 |
password | string | 密码 |
- 响应:
- 状态码:
200 OK
- 响应体:
success
- 状态码:
- URL:
/login
- 方法:
POST
- 描述: 用户登录接口,提供用户名和密码,成功返回 JWT Token。
- 请求参数:
参数名 | 类型 | 说明 |
---|---|---|
username | string | 用户名 |
password | string | 密码 |
-
响应:
-
状态码:
200 OK
-
响应体:
{ "status": 200, "message": "login successful", "token": "JWT_TOKEN" }
-
- URL:
/messages
- 方法:
POST
- 描述: 用户发布留言接口,支持发布根留言或对某条留言的回复(楼中楼)。
- 请求参数:
参数名 | 类型 | 说明 |
---|---|---|
content | string | 留言内容 |
parentid | int | 可选,父留言ID。若为根留言,传空值或不传此字段 |
-
响应
:
- 状态码:
200 OK
- 响应体:
success
- 状态码:
-
URL:
/messages
-
方法:
GET
-
描述: 获取所有留言及其回复(楼中楼)。
-
响应
:
-
状态码:
200 OK
-
响应体:
[ { "Username": "username1", "Content": "留言内容1", "Replies": [ { "Username": "username2", "Content": "回复1", "Replies": [ { "Username": "username3", "Content": "回复2" } ] } ] } ]
-
- URL:
/messages
- 方法:
POST
- 描述: 删除留言接口,仅允许留言的作者删除自己发布的留言。
- 请求参数:
参数名 | 类型 | 说明 |
---|---|---|
messageid | int | 留言ID |
-
响应
:
- 状态码:
200 OK
- 响应体:
success
- 状态码:
400 Bad Request
- 响应体:
你无权操作
- 状态码:
- URL:
/messages/like
- 方法:
POST
- 描述: 点赞留言接口,用户可以为留言点赞。每个用户只能对每条留言点赞一次。
- 请求参数:
参数名 | 类型 | 说明 |
---|---|---|
messageid | int | 留言ID |
-
响应
:
- 状态码:
200 OK
- 响应体:
点赞成功
- 状态码:
400 Bad Request
- 响应体:
已经点赞过!
- 状态码:
- URL:
/messages/like
- 方法:
Delete
- 描述: 取消点赞留言接口,用户可以取消之前对留言的点赞。
- 请求参数:
参数名 | 类型 | 说明 |
---|---|---|
messageid | int | 留言ID |
-
响应
:
- 状态码:
200 OK
- 响应体:
取消点赞成功
- 状态码:
400 Bad Request
- 响应体:
未曾点赞过!
- 状态码:
- URL:
/messages/like
- 方法:
GET
- 描述: 获取指定留言的点赞数。
- 请求参数:
参数名 | 类型 | 说明 |
---|---|---|
messageid | int | 留言ID |
-
响应
:
-
状态码:
200 OK
-
响应体:
{ "messageid": 1, "LikesCount": 5 }
-