mirror of
https://github.com/astaxie/beego.git
synced 2024-11-16 18:00:54 +00:00
38 lines
964 B
Go
38 lines
964 B
Go
package param
|
|
|
|
import (
|
|
"fmt"
|
|
)
|
|
|
|
// MethodParamOption defines a func which apply options on a MethodParam
|
|
type MethodParamOption func(*MethodParam)
|
|
|
|
// IsRequired indicates that this param is required and can not be omitted from the http request
|
|
var IsRequired MethodParamOption = func(p *MethodParam) {
|
|
p.required = true
|
|
}
|
|
|
|
// InHeader indicates that this param is passed via an http header
|
|
var InHeader MethodParamOption = func(p *MethodParam) {
|
|
p.in = header
|
|
}
|
|
|
|
// InPath indicates that this param is part of the URL path
|
|
var InPath MethodParamOption = func(p *MethodParam) {
|
|
p.in = path
|
|
}
|
|
|
|
// InBody indicates that this param is passed as an http request body
|
|
var InBody MethodParamOption = func(p *MethodParam) {
|
|
p.in = body
|
|
}
|
|
|
|
// Default provides a default value for the http param
|
|
func Default(defaultValue interface{}) MethodParamOption {
|
|
return func(p *MethodParam) {
|
|
if defaultValue != nil {
|
|
p.defaultValue = fmt.Sprint(defaultValue)
|
|
}
|
|
}
|
|
}
|