模块说明
form 提供后台"自定义表单"模块的全套接口:表单列表、单个表单的填写页数据(字段结构)与表单提交。适合在客户端动态渲染任意后台配置的表单(预约登记、调查问卷、报名表等)。
鉴权级别:可选(匿名可提交)。
接口一览
| 方法 | URL | 鉴权 | 说明 |
|---|---|---|---|
| GET | /api/form |
可选 | 表单列表 |
| GET | /api/form/show/{id} |
可选 | 表单填写页(字段结构) |
| POST | /api/form/submit |
可选 | 表单提交 |
表单列表
请求参数
| 参数 | 必填 | 说明 |
|---|---|---|
page |
否 | 页码,默认 1 |
响应
{
"code": "OK",
"message": "",
"data": {
"title": "表单",
"form_list": [ { "id": 1, "name": "...", "...": "" } ],
"total": 3,
"pager": { "page": 1, "...": "" }
},
"errors": {},
"request_id": "9f2a5c8e1b3d7f40"
}
表单填写页
GET /api/form/show/1
{
"code": "OK",
"message": "",
"data": {
"title": "表单",
"form": { "id": 1, "name": "...", "field_list": [ { "name": "...", "type": "...", "required": true } ] }
},
"errors": {},
"request_id": "9f2a5c8e1b3d7f40"
}
表单不存在返回 404(page_wrong)。
表单提交
POST /api/form/submit
Content-Type: application/json
{
"form_id": 1,
"…字段名": "字段值"
}
除 form_id(必须为数字)外,其余键值对来自填写页返回的 field_list 结构,按字段名原样提交。
成功响应
{ "code": "OK", "message": "…(提交成功提示文案)", "data": {}, "errors": {}, "request_id": "..." }
失败响应
form_id非数字 / 字段校验失败 →422 INVALID_PARAMS,errors给出字段错误(键=字段名);- 业务规则拒绝(如重复提交) →
422 BUSINESS_RULE_VIOLATION,message为提示文案。
注意事项
- 字段名称、类型、必填项均以填写页
form数据为准,后台改表单后客户端自动跟随; - 提交为匿名接口,站点有 IP 级防灌水;
- 使用方法和细节与前台网页表单完全一致(复用同一服务层)。