模块说明
guestbook 提供留言板的入口信息与留言提交接口。留言提交为匿名接口,服务端做字段校验与 IP 级防灌水。
鉴权级别:可选(匿名可提交)。
接口一览
| 方法 | URL | 鉴权 | 说明 |
|---|---|---|---|
| GET | /api/guestbook |
可选 | 留言板信息(标题) |
| POST | /api/guestbook/store |
可选 | 提交留言(限流 5 次/300 秒) |
留言板信息
GET /api/guestbook
{
"code": "OK",
"message": "",
"data": { "title": "留言板" },
"errors": {},
"request_id": "9f2a5c8e1b3d7f40"
}
提交留言
POST /api/guestbook/store
Content-Type: application/json
{
"…": "留言字段(以站点后台留言字段配置为准,常见:联系人、手机/邮箱、内容等)"
}
成功响应
{ "code": "OK", "message": "留言提交成功", "data": {}, "errors": {}, "request_id": "..." }
失败响应
- 字段校验失败 →
422 INVALID_PARAMS,errors给出逐字段错误(键=字段名); - 触发防灌水(同一 IP 频繁提交) →
422 BUSINESS_RULE_VIOLATION,message提示请勿重复提交。
注意事项
- 留言字段配置由后台【留言】模块决定,客户端按站点实际字段提交;
- 除中间件限流(5 次/300 秒)外,业务层还有一重按 IP 的防灌水校验(
isWaterByIp),两层互补; - 兼容约定:
GET /api/guestbook&rec=insert会被服务端视为提交动作——通用客户端请始终用 POSTguestbook/store提交,不要使用该兼容入口。