go - 绑定请求方法 POST
问题描述
我的请求绑定有问题,因为参数很多,所以我使用了包含param的struct。
package api
import (
"github.com/labstack/echo/v4"
"net/http"
"trains-api/domain/models"
"trains-api/domain/services"
)
type reqCreate struct {
RequestNotifi models.ResquestCreateNotifi
}
func CreateNotification (c echo.Context) error {
req := reqCreate{}
if err := c.Bind(req); err != nil {
return c.JSON(http.StatusNotFound, err)
}
}
package models
type RequestCreateNotifi struct {
Name_param1 string `db:"Name_param1"`
Name_param2 string `db:"Name_param2"`
....
Name_param_n string `db:"Name_paramN"`
}
错误在if err := c.Bind(req); err != nil
r = {interface {} | string } "reflect: Elem of invalid type"
解决方案
您需要设置模型中每个字段的 JSON 等效项,如下所示:
package models
type RequestCreateNotifi struct {
Name_param1 string `json:"name_param1" db:"Name_param1"`
Name_param2 string `json:"name_param2" db:"Name_param2"`
....
Name_param_n string `json:"name_param_n" db:"Name_param n"`
}
此 json 字段指定该字段在请求中的表示方式,以便它可以将其绑定到正确的值。
推荐阅读
- javascript - Cloud Firestore 在查询时没有排序问题
- python - 如何使用 BeautifulSoup 获取最后一个 URL 链接元素
- amazon-web-services - Aws CDK 跳过 IAM 语句更改
- powerbi - 如果至少一行包含值,则 Power BI 计数
- colors - 无法更改地址栏的颜色或在移动设备中添加图标
- python - 一个文档中的嗖嗖声频率
- python - 在 Ubuntu 上安装了 Selenium,但无法导入
- vba - 再次调用列表框时,VBA 列表框选择不会重置
- flutter - 颤振 | 无法将自定义模型列表保存到共享首选项
- python - Pip 未安装 Windows 10