我一直在试图嘲笑杜松子酒。上下文,但我无法使其工作,我正在尝试他们在此解决方案中所做的工作,但它不适用于我的路由器,这是我一直得到的错误
r.POST("/urls", urlRepo.CreateUrl)
cannot use urlRepo.CreateUrl (value of type func(c controllers.Icontext)) as gin.HandlerFunc value in argument to r.POSTcompilerIncompatibleAssign
这是我为以后的模拟而创建的接口,也是我将要测试的方法
type Icontext interface {
BindJSON(obj interface{}) error
JSON(code int, obj interface{})
AbortWithStatus(code int)
AbortWithStatusJSON(code int, jsonObj interface{})
}
func (repository *UrlRepo) CreateUrl(c Icontext) {
var url models.Url
c.BindJSON(&url)
if !validators.IsCreateJsonCorrect(url) {
c.AbortWithStatusJSON(http.StatusBadRequest, gin.H{"error": "Error format in Short or Full"})
return
}
err := repository.reposito.CreateUrl(repository.Db, &url)
if err != nil {
c.AbortWithStatusJSON(http.StatusInternalServerError, gin.H{"error": err})
return
}
c.JSON(http.StatusOK, url)
}
而不是
func (repository *UrlRepo) CreateUrl(c Icontext)
它是
func (repository *UrlRepo) CreateUrl(c *gin.Context)
料青山看我应如是
阿晨1998
相关分类