From 64bda39e108fd3f1dba2655d862d101a074a5db7 Mon Sep 17 00:00:00 2001 From: shiran Date: Mon, 10 Mar 2025 12:06:59 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=93=8D=E5=BA=94=E4=BD=93?= =?UTF-8?q?=E4=B8=8E=E8=AF=B7=E6=B1=82=E7=BB=93=E6=9E=84=E7=BB=91=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/index_view.go | 10 +++++++++- models/request_models/index_model.go | 11 +++++++++++ utils/request/request.go | 18 ++++++++++++++++++ 3 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 models/request_models/index_model.go create mode 100644 utils/request/request.go 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 +}