diff --git a/app/http/controller/web/animal_controller.go b/app/http/controller/web/animal_controller.go index c3ce39b..fbd1490 100644 --- a/app/http/controller/web/animal_controller.go +++ b/app/http/controller/web/animal_controller.go @@ -158,9 +158,9 @@ func getPreferCats(userId, num int, attrs string, redis *model_redis.SelectedAni func (a *Animals) Detail(context *gin.Context) { // 1. Get Params - anmId := context.Param("anm_id") + anmId := context.GetFloat64(consts.ValidatorPrefix + "anm_id") - animal := curd.CreateAnimalsCurdFactory().Detail(anmId) + animal := curd.CreateAnimalsCurdFactory().Detail(int64(anmId)) if animal != nil { response.Success(context, consts.CurdStatusOkMsg, animal) } else { diff --git a/app/http/validator/web/animal/detail.go b/app/http/validator/web/animal/detail.go index de565b4..38d4ac0 100644 --- a/app/http/validator/web/animal/detail.go +++ b/app/http/validator/web/animal/detail.go @@ -10,8 +10,8 @@ import ( ) type Detail struct { - AnmId int64 `form:"anm_id" json:"anm_id"` - // TODO 暂时没有用到这个模块,GinSK 的架构对于 Path 的处理方式我还不确定,先用临时方案。 + AnmId int64 `form:"anm_id" json:"anm_id" binding:"required"` + UserId int64 `form:"user_id" json:"user_id" binding:"required"` } func (d Detail) CheckParams(context *gin.Context) { diff --git a/app/http/validator/web/rag/release.go b/app/http/validator/web/rag/release.go index c28b1ec..986df14 100644 --- a/app/http/validator/web/rag/release.go +++ b/app/http/validator/web/rag/release.go @@ -10,7 +10,7 @@ import ( ) type Release struct { - Token string `form:"token" json:"token"` + Token string `form:"token" json:"token" binding:"required"` } func (r Release) CheckParams(context *gin.Context) { diff --git a/app/service/animals/curd/animals_curd.go b/app/service/animals/curd/animals_curd.go index 1010fa9..83e3bf7 100644 --- a/app/service/animals/curd/animals_curd.go +++ b/app/service/animals/curd/animals_curd.go @@ -7,7 +7,6 @@ import ( "catface/app/utils/model_handler" "catface/app/utils/query_handler" "fmt" - "strconv" ) func CreateAnimalsCurdFactory() *AnimalsCurd { @@ -113,15 +112,9 @@ func (a *AnimalsCurd) ShowByName(attrs string, name string) (temp []model.Animal return } -func (a *AnimalsCurd) Detail(id string) *model.Animal { - idInt, err := strconv.Atoi(id) - if err != nil { - // TODO LOG - fmt.Println("Detail id error:", err) - return nil - } +func (a *AnimalsCurd) Detail(id int64) *model.Animal { - return model.CreateAnimalFactory("mysql").ShowByID(int64(idInt)) + return model.CreateAnimalFactory("mysql").ShowByID(id) } func (a *AnimalsCurd) MatchAll(query string, num int) (tmp []model.Animal) { diff --git a/routers/web.go b/routers/web.go index 2b71a9e..ef4a0d5 100644 --- a/routers/web.go +++ b/routers/web.go @@ -122,7 +122,7 @@ func InitWebRouter() *gin.Engine { animal := backend.Group("animal") { animal.GET("", validatorFactory.Create(consts.ValidatorPrefix+"AnimalList")) - animal.GET(":anm_id", validatorFactory.Create(consts.ValidatorPrefix+"AnimalDetail")) + animal.GET("detail", validatorFactory.Create(consts.ValidatorPrefix+"AnimalDetail")) animal.POST("", validatorFactory.Create(consts.ValidatorPrefix+"AnimalCreate")) animal.GET("name", validatorFactory.Create(consts.ValidatorPrefix+"AnimalName"))