# Functions
NewFilePart 创建一个 FilePart 。
如果 part 带有 HTTP 头 Content-Type:application/json ,则 JSON 内容会被读取并校验其格式。 若读取或校验失败,返回对应的错误。.
NewSlimApiDecoder 返回用于 SlimAPI 协议的 [webapi.ApiDecoder] 实现。.
NewSlimApiHandler 创建一个实现 SlimAPI 协议的 webapi.ApiHandlerWrapper 。 可通过替换其成员实现接口的定制。.
SlimApiInvoker 创建一个 [SlimApiInvoker] 实例。.
NewSlimApiLogger 返回用于 SlimAPI 协议的 [webapi.ApiLogger] 实现。.
NewSlimApiNameResolver 返回用于 SlimAPI 协议的 webapi.ApiNameResolver 实现。.
NewSlimApiResponseWriter 返回用于 SlimAPI 协议的 webapi.ApiResponseWriter 实现。 该实现是无状态且线程安全的。.
ParseTime 解析 SlimAPI 的时间格式,默认 yyyyMMdd HH:mm:ss 时区为 UTC ,如果解析失败再用默认的格式( RFC3339 )处理。.
SupportedHttpMethods 返回 SlimAPI 支持的 HTTP 请求方法。 当前支持 GET 和 POST 。.
# Constants
SlimAPI 协议里默认的时间格式: yyyy-MM-dd HH:mm:ss 。 API 输出 JSON 时使用此格式。.
# Variables
Conv 是用于 SlimAPI 的 [conv.Conv] 实例,它支持: - 使用大小写不敏感(case-insensitive)的方式处理字段。 - 支持 SlimAPI 规定的时间格式 yyyyMMdd HH:mm:ss 。 - 支持字符串到数组的转换,使用 ~ 分割,如将 "1~2~3" 转为 [1, 2, 3] 。
特别的,用于支持 multipart/form-data 的文件上传,如果输入 [*FilePart] : - 目标值类型是 [*multipart.FileHeader] 时,原样返回输入值,不做转换。 - 目标值时 []byte 时,将其数据读取出来。 - 目标值时其他类型时,若此分部的 Content-Type 为 application/json ,则将其内容作为 JSON 读取,并将此 JSON 反序列化到目标值。.
LogBody 实现 [webapi.LogSetup] ,用于记录请求的 body 的相关信息。
这是一个单例。.
StructArgumentDecoder 是一个 [webapi.ArgumentDecoder] , 定义了 SlimAPI 协议的参数解析过程,用于方法参数表中 struct 类型的参数。
这是一个单例。.
# Structs
FilePart 用于封装一个 *multipart.FileHeader ,用于 [Conv] 对象进行类型转换, 以支持 multipart/form-data 方式的参数及文件上传。.
SlimApiInvoker 用于调用一个 SlimAPI 。
TParam 是输入参数的类型; TData 对应输出的 [webapi.ApiResponse.Data] 。.
# Type aliases
Time 描述 SlimAPI 协议中的时间。
在 API response 中,使用此类型,可输出 SlimAPI 格式的时间。 e.g.