楔(xiē)子
在第一篇文章 简化Gin接口代码 当中为大家提供了一种抽象 gin
接口代码的思路,而这篇文章会为大家带来参数绑定的一些技巧。
在我们写的绝大部分的API代码当中,其实都是需要传递参数的,无论是通过 path
、query string
还是 body
,在 gin
当中,为我们提供了一系列的 binding
方法让我们可以把这些参数绑定到一个对象中,通过还可以通过 struct tag
来对参数进行校验,不知道到大家曾今是否和遇到过相同的困惑:
- 我创建/更新接口有时候就仅仅只相差一个 id,我是不是可以复用代码?
- 是否可以直接用 model 层的 struct 绑定参数?
接下来本文就从这些问题出发,利用 go 的组合特点,介绍一些参数绑定上的小技巧