新增响应体与请求结构绑定
This commit is contained in:
+9
-1
@@ -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")
|
||||
}
|
||||
|
||||
@@ -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"`
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
Reference in New Issue
Block a user