ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
### HTTP 请求 #### 读取数据 * Form 表单数据 表单数据可以通过名称读取,使用这个方法 Context#FormValue(key string) string ~~~ // Handler func(ctx dotweb.Context) error { name := ctx.FormValue("name") ctx.WriteString(name) return nil } ~~~ * Get参数 url 请求参数可以通过名称获取,使用 Context#QueryString(key string) string ~~~ // Handler func(ctx dotweb.Context) error { name := ctx.QueryString("name") ctx.WriteString(name) return nil }) ~~~ * PostForm PostForm可以通过名称获取, 可以使用 Context#PostFormValue(key string) string ~~~ // Handler func(ctx dotweb.Context) error { name := ctx.PostFormValue("name") ctx.WriteString(name) return nil }) ~~~ * Post Body Post Body, 可以使用 Context.Request()#PostBody() []byte ~~~ // Handler func(ctx dotweb.Context) error { b := ctx.Request().PostBody() ctx.Write(http.StatusOK, b) return nil }) ~~~ #### 数据绑定 使用 Context#Bind(i interface{}) 绑定一个请求内容体到 go 的结构体。默认的绑定器支持解析 Content-Type 是 application/json,application/xml 和 form提交的数据。 下面是绑定请求数据到 User 结构体的例子 ~~~ // User type UserInfo struct { UserName string Sex int } // Handler func(ctx dotweb.Context) (err error) { user := new(User) if err := ctx.Bind(user); err != nil { return err } ctx.WriteString(fmt.Sprint(user)) return nil } ~~~