Documentation ¶
Index ¶
- Constants
- Variables
- func Decode(dst interface{}, src map[string][]string) error
- func IgnoreUnknownKeys(i bool)
- func PickDecode(v reflect.Value, src map[string][]string) error
- func RegisterConverter(value interface{}, converterFunc reflecti.Converter)
- func SetAliasTag(tag string)
- func ZeroEmpty(z bool)
- type Arg
- type Args
- type Binding
- type BindingBody
- type BindingUri
- type ConversionError
- type Ctx
- type Decoder
- func (d *Decoder) Decode(dst interface{}, src map[string][]string) error
- func (d *Decoder) IgnoreUnknownKeys(i bool)
- func (d *Decoder) PickDecode(v reflect.Value, src map[string][]string) error
- func (d *Decoder) RegisterConverter(value interface{}, converterFunc reflecti.Converter)
- func (d *Decoder) SetAliasTag(tag string)
- func (d *Decoder) ZeroEmpty(z bool)
- type EmptyFieldError
- type Encoder
- type UnknownKeyError
Constants ¶
const ( MIMEJSON = "application/json" MIMEHTML = "text/html" MIMEXML = "application/xml" MIMEXML2 = "text/xml" MIMEPlain = "text/plain" MIMEPOSTForm = "application/x-www-form-urlencoded" MIMEMultipartPOSTForm = "multipart/form-data" MIMEPROTOBUF = "application/x-protobuf" MIMEMSGPACK = "application/x-msgpack" MIMEMSGPACK2 = "application/msgpack" MIMEYAML = "application/x-yaml" )
Variables ¶
var ( JSON = jsonBinding{} XML = xmlBinding{} Form = formBinding{} Query = queryBinding{} FormPost = formPostBinding{} FormMultipart = formMultipartBinding{} ProtoBuf = protobufBinding{} MsgPack = msgpackBinding{} YAML = yamlBinding{} Uri = uriBinding{} Header = headerBinding{} )
These implement the Binding interface and can be used to bind the data present in the request to struct instances.
var EnableDecoderDisallowUnknownFields = false
EnableDecoderDisallowUnknownFields is used to call the DisallowUnknownFields method on the JSON Decoder instance. DisallowUnknownFields causes the Decoder to return an error when the destination is a struct and the input contains object keys which do not match any non-ignored, exported fields in the destination.
var EnableDecoderUseNumber = false
EnableDecoderUseNumber is used to call the UseNumber method on the JSON Decoder instance. UseNumber causes the Decoder to unmarshal a number into an interface{} as a Number instead of as a float64.
var Validator = validator.DefaultValidator
Validator is the default validator which implements the StructValidator interface. It uses https://github.com/go-playground/validator/tree/v8.18.2 under the hood.
Functions ¶
func IgnoreUnknownKeys ¶
func IgnoreUnknownKeys(i bool)
func RegisterConverter ¶
RegisterConverter registers a converter function for a custom type.
func SetAliasTag ¶
func SetAliasTag(tag string)
Types ¶
type Binding ¶
type Binding interface { Name() string Bind(*http.Request, interface{}) error GinBind(*gin.Context, interface{}) error FasthttpBind(*fasthttp.Request, interface{}) error FiberBind(*fiber.Ctx, interface{}) error }
Binding describes the interface which needs to be implemented for binding the data present in the request such as JSON request body, query parameters or the form POST.
type BindingBody ¶
BindingBody adds BindBody method to Binding. BindBody is similar with GinBind, but it reads the body from supplied bytes instead of req.Body.
type BindingUri ¶
BindingUri adds BindUri method to Binding. BindUri is similar with GinBind, but it read the Params.
type ConversionError ¶
type ConversionError struct { Key string // key from the source map. Type reflect.Type // expected type of elem Index int // index for multi-value fields; -1 for single-value fields. Err error // low-level error (when it exists) }
ConversionError stores information about a failed conversion.
func (ConversionError) Error ¶
func (e ConversionError) Error() string
type Decoder ¶
type Decoder struct {
// contains filtered or unexported fields
}
Decoder decodes values from a map[string][]string to a struct.
func DefaultDecoder ¶
func DefaultDecoder() *Decoder
func (*Decoder) Decode ¶
Decode decodes a map[string][]string to a struct.
The first parameter must be a pointer to a struct.
The second parameter is a map, typically url.Values from an HTTP request. Keys are "paths" in dotted notation to the struct fields and nested structs.
See the package documentation for a full explanation of the mechanics.
func (*Decoder) IgnoreUnknownKeys ¶
IgnoreUnknownKeys controls the behaviour when the decoder encounters unknown keys in the map. If i is true and an unknown field is encountered, it is ignored. This is similar to how unknown keys are handled by encoding/json. If i is false then Decode will return an error. Note that any valid keys will still be decoded in to the target struct.
To preserve backwards compatibility, the default value is false.
func (*Decoder) PickDecode ¶
func (*Decoder) RegisterConverter ¶
RegisterConverter registers a converter function for a custom type.
func (*Decoder) SetAliasTag ¶
SetAliasTag changes the tag used to locate custom field aliases. The default tag is "schema".
func (*Decoder) ZeroEmpty ¶
ZeroEmpty controls the behaviour when the decoder encounters empty values in a map. If z is true and a key in the map has the empty string as a value then the corresponding struct field is set to the zero value. If z is false then empty strings are ignored.
The default value is false, that is empty values do not change the value of the struct field.
type EmptyFieldError ¶
type EmptyFieldError struct {
Key string // required key in the source map.
}
EmptyFieldError stores information about an empty required field.
func (EmptyFieldError) Error ¶
func (e EmptyFieldError) Error() string
type Encoder ¶
type Encoder struct {
// contains filtered or unexported fields
}
Encoder encodes values from a struct into url.Values.
func (*Encoder) Encode ¶
Encode encodes a struct into map[string][]string.
Intended for use with url.Values.
func (*Encoder) RegisterEncoder ¶
RegisterEncoder registers a converter for encoding a custom type.
func (*Encoder) SetAliasTag ¶
SetAliasTag changes the tag used to locate custom field aliases. The default tag is "schema".
type UnknownKeyError ¶
type UnknownKeyError struct {
Key string // key from the source map.
}
UnknownKeyError stores information about an unknown key in the source map.
func (UnknownKeyError) Error ¶
func (e UnknownKeyError) Error() string