本文整理汇总了Golang中github.com/go-swagger/go-swagger/spec.Response.Schema方法的典型用法代码示例。如果您正苦于以下问题:Golang Response.Schema方法的具体用法?Golang Response.Schema怎么用?Golang Response.Schema使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/go-swagger/go-swagger/spec.Response
的用法示例。
在下文中一共展示了Response.Schema方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: Parse
func (ss *setOpResponses) Parse(lines []string) error {
if len(lines) == 0 || (len(lines) == 1 && len(lines[0]) == 0) {
return nil
}
var def *spec.Response
var scr map[int]spec.Response
for _, line := range lines {
kv := strings.SplitN(line, ":", 2)
var key, value string
if len(kv) > 1 {
key = strings.TrimSpace(kv[0])
if key == "" {
// this must be some weird empty line
continue
}
value = strings.TrimSpace(kv[1])
if value == "" {
var resp spec.Response
if strings.EqualFold("default", key) {
if def == nil {
def = &resp
}
} else {
if sc, err := strconv.Atoi(key); err == nil {
if scr == nil {
scr = make(map[int]spec.Response)
}
scr[sc] = resp
}
}
continue
}
var arrays int
for strings.HasPrefix(value, "[]") {
arrays++
value = value[2:]
}
var isDefinitionRef bool
var ref spec.Ref
var err error
if arrays == 0 {
ref, err = spec.NewRef("#/responses/" + value)
} else {
isDefinitionRef = true
ref, err = spec.NewRef("#/definitions/" + value)
}
if _, ok := ss.responses[value]; !ok {
if _, ok := ss.definitions[value]; ok {
isDefinitionRef = true
ref, err = spec.NewRef("#/definitions/" + value)
}
} else {
}
if err != nil {
return err
}
var resp spec.Response
if !isDefinitionRef {
resp.Ref = ref
} else {
resp.Schema = new(spec.Schema)
if arrays == 0 {
resp.Schema.Ref = ref
} else {
cs := resp.Schema
for i := 0; i < arrays; i++ {
cs.Typed("array", "")
cs.Items = new(spec.SchemaOrArray)
cs.Items.Schema = new(spec.Schema)
cs = cs.Items.Schema
}
cs.Ref = ref
}
}
if strings.EqualFold("default", key) {
if def == nil {
def = &resp
}
} else {
if sc, err := strconv.Atoi(key); err == nil {
if scr == nil {
scr = make(map[int]spec.Response)
}
scr[sc] = resp
}
}
}
}
ss.set(def, scr)
return nil
}