代码拉取完成,页面将自动刷新
package openapi
import (
"encoding/json"
"fmt"
"github.com/getkin/kin-openapi/openapi3"
)
//将参数按风格转换为可用于参数设置等的字符串,用在query、path、header、cookie等参数的设置
func EncodingParToString(def *openapi3.Schema, style string, value interface{}) string {
if style == "" {
if value == nil {
return ""
}
if def == nil {
return value.(string)
}
switch def.Type {
case "object":
case "array":
default:
//输入只有string和object、array三种
return value.(string)
}
} else {
switch style {
case "jsonString": //扩展类型,将object或者array生成json串行后的string
bts, _ := json.Marshal(value)
return string(bts)
}
return fmt.Sprintf("%v", value)
}
return ""
}
//根据输入进行请求的创建
func generateReqBySchema(handledMark map[string]interface{}, properties openapi3.Schemas,
encoding map[string]*openapi3.Encoding, mSel *OperationSelection,
parameters openapi3.Parameters, inputs map[string]interface{}, fn DefHandler) (hasChange bool, result map[string]interface{}, err error) {
var request = make(map[string]interface{})
for name, def := range properties {
var input = mSel.RequestBody.Inputs[name]
if input == nil {
input = new(ParameterSelection)
}
var result interface{}
result, err = GetValue(input,
name,
"request",
map[string]map[string]*ParameterSelection{
"parameter": mSel.Parameters.ToMap(parameters),
"request": mSel.RequestBody.Inputs,
}, inputs, handledMark, properties, encoding)
if err == NullValue {
continue
} else if err != nil {
return hasChange, request, err
} else {
var hasChangeSingle bool
hasChangeSingle, result, _ = fn.TransformValueVersa(def.Value, result)
hasChange = hasChange || hasChangeSingle
request[name] = result
}
}
return hasChange, request, err
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。