package
0.102.7
Repository: https://github.com/issue9/web.git
Documentation: pkg.go.dev

# Packages

Package cbor [CBOR] 编码 [CBOR]: https://www.rfc-editor.org/rfc/rfc8949.html.
Package form 用于处理 www-form-urlencoded 编码 func read(ctx *web.Context) { vals := urls.Values{} ctx.Read(vals) } func write(ctx *web.Context) { vals := urls.Values{} vals.Add("name", "caixw") return web.Object(http.StatusOK, vals, nil) } # form 标签 用户可以通过定义 form 标签自定义输出的名称,比如: type Username struct { Name string `form:"name"` Age int } 转换成 form-data 可能是以下样式: name=jjj&age=18 该方式对数据类型有一定限制: - 如果是 map 类型,要求键名类型必须为 string; - 如果是 array 或是 slice,则要求元素类型必须是 go 的基本数据类型,不能是 struct 类型; - 其它基本类型或是实现了 [encoding.TextUnmarshaler] 和 [encoding.TextMarshaler] 接口的类型; # 接口 对于复杂类型,用户可以自定义实现 [Marshaler] 和 [Unmarshaler] 接口进行编解码, 其功能与用户与 encoding/json 中的 Marshaler 和 Unmarshaler 接口相似。 与标准库中 http.Request.ParseForm 的不同点: - 标准库支持从查询参数中获取数据; - 当前包支持非 ascii 编码; - 当前包支持将数据映射到一个对象;.
Package gob [GOB] 格式的数据编码方案 [GOB]: https://pkg.go.dev/encoding/gob.
Package html 提供输出 HTML 内容的解码函数 srv := server.New("", "", &server.Options{ Codec: web.New().AddMimetype("text/html", html.Marshal, html.Unmarshal, "") }) html.Init(...) html.Install(...) func handle(ctx *web.Context) Responser { obj := &struct{ XMLName struct{} `html:"Object"` Data string }{} return Object(200, obj, nil) } 预定义的模板 框架本身提供了一些数据类型的定义,比如 [web.Problem], 用户需要提供由 [web.Problem.MarshalHTML] 返回的模板定义。 如果用户还使用了 [server.RenderResponse],那么也需要提供对应的模板定义。.
Package json JSON 格式的序列化方法.
Package jsonp JSONP 序列化操作.
Package nop 提供了空的序列化方法.
Package sse [SSE] 的实现 [SSE]: https://html.spec.whatwg.org/multipage/server-sent-events.html.
Package xml XML 编码的序列化操作.
Package yaml 支持 YAML 编码的序列化操作.

# Functions

ErrUnsupported 返回不支持序列化的错误信息 此方法的返回对象同时也包含了 [errors.ErrUnsupported] errors.Is(ErrUnsupported(), errors.ErrUnsupported) == true。.