diff --git a/apps/index_view.go b/apps/index_view.go index 7d40aac..a54a591 100644 --- a/apps/index_view.go +++ b/apps/index_view.go @@ -1,10 +1,18 @@ package apps import ( + "apiServer_service/models/request_models" + "apiServer_service/utils/loger" + "apiServer_service/utils/request" "context" "github.com/cloudwego/hertz/pkg/app" ) func Ping(ctx context.Context, c *app.RequestContext) { - c.Data(200, "text/plain", []byte("pong")) + var requests request_models.IndexRequest + if err := request.BindRequestStruct(c, &requests); err != nil { + return + } + loger.Info("Ping", requests.Name) + request.Success(c, "pong") } diff --git a/models/request_models/index_model.go b/models/request_models/index_model.go new file mode 100644 index 0000000..7138d01 --- /dev/null +++ b/models/request_models/index_model.go @@ -0,0 +1,11 @@ +package request_models + +import "mime/multipart" + +type IndexRequest struct { + Id uint `form:"id,required" query:"id,required" wd:"$>0"` + Name string `form:"name,required" query:"name,required" wd:"len($)>0"` + File *multipart.FileHeader `form:"file" query:"file" wd:"len($)>0"` + UpdateType string `form:"update_type" query:"update_type" wd:"len($)>0"` + OpenDown bool `form:"open_down" query:"open_down" default:"false"` +} diff --git a/utils/request/request.go b/utils/request/request.go new file mode 100644 index 0000000..d937b60 --- /dev/null +++ b/utils/request/request.go @@ -0,0 +1,18 @@ +package request + +import ( + "apiServer_service/utils/loger" + "fmt" + "github.com/cloudwego/hertz/pkg/app" +) + +// BindRequestStruct 结构体参数绑定 +func BindRequestStruct(c *app.RequestContext, request interface{}) error { + err := c.BindAndValidate(request) + if err != nil { + loger.Debug("BindRequestStruct", fmt.Sprintf("参数错误: %v", err)) + BadRequest(c, "参数错误") + return err + } + return nil +}