api结构体数据描述
先看代码模板:
type HelloRes struct {
g.Meta `mime:"text/html" example:"string"`
ID uint `json:"id" in:"path" v:"min:1#请选择要修改的内容" dc:"内容id"`
}
在这段代码中可以看到数据描述部分有数据类型、json属性名、校验规则、数据描述等信息,内容如下:
json:属性名(重要)
注意golang的代码规范是导出结构体属性名首字母必须大写,前端的代码规范是属性名首字母小写。所以在这里必须通过写json属性名描述来将golang的属性名转成前端使用的属性名。 千万注意前后端属性名大小写、下划线、小驼峰各种差异。
dc:内容描述(重要)
请看下图红框部分,在dc中的内容会被展示在/swagger的数据属性栏中。请不要忽略该内容!
v:数据校验(一般)
v的用处是用来描述校验规则,相关内容非常多,可以参考Goframe数据校验。 我因为前后端一起写,数据校验都在前端写了,所以后端就没有使用v。如果发现前端数据校验做的不好,后端必须要做数据校验,那么可以认真看看官网里的数据校验相关内容,可以大大减少写数据校验规则的代码。
in:数据值范围(不重要)
限定值范围。可以写个数组,限定值必须在这个数组内。这部分可忽略不写。
总结: 注意,api结构体数据描述的内容在请求结构体和响应结构体中是一致的。请求结构体中描述的是请求参数,响应结构体中描述的是返回参数。
api响应结构体Meta
先看代码模板:
type HelloRes struct {
g.Meta `mime:"text/html" example:"string"`
}
这部分是描述返回的数据类型,是html网页或者是json数据。我个人觉得这个完全可以不写,返回数据使用WriteJson、WriteTpl已经很清晰了,没必要再写响应结构体的Meta。
|