Merge pull request #31 from soasurs/main
Add Pointer Type for API Type Definitions
This commit is contained in:
commit
2e39587a45
@ -10,11 +10,17 @@ import (
|
||||
|
||||
var swaggerMapTypes = map[string]reflect.Kind{
|
||||
"string": reflect.String,
|
||||
"*string": reflect.String,
|
||||
"int": reflect.Int,
|
||||
"*int": reflect.Int,
|
||||
"int32": reflect.Int,
|
||||
"*int32": reflect.Int,
|
||||
"uint32": reflect.Int,
|
||||
"*uint32": reflect.Int,
|
||||
"uint64": reflect.Int64,
|
||||
"*uint64": reflect.Int64,
|
||||
"int64": reflect.Int64,
|
||||
"*int64": reflect.Int64,
|
||||
"[]string": reflect.Slice,
|
||||
"[]int": reflect.Slice,
|
||||
"[]int64": reflect.Slice,
|
||||
@ -22,9 +28,13 @@ var swaggerMapTypes = map[string]reflect.Kind{
|
||||
"[]uint32": reflect.Slice,
|
||||
"[]uint64": reflect.Slice,
|
||||
"bool": reflect.Bool,
|
||||
"*bool": reflect.Bool,
|
||||
"struct": reflect.Struct,
|
||||
"*struct": reflect.Struct,
|
||||
"float32": reflect.Float32,
|
||||
"*float32": reflect.Float32,
|
||||
"float64": reflect.Float64,
|
||||
"*float64": reflect.Float64,
|
||||
}
|
||||
|
||||
// http://swagger.io/specification/#infoObject
|
||||
|
@ -59,7 +59,7 @@ func applyGenerate(p *plugin.Plugin, host string, basePath string) (*swaggerObje
|
||||
newSecDefValue.In = "header"
|
||||
s.SecurityDefinitions["apiKey"] = newSecDefValue
|
||||
|
||||
s.Security = append(s.Security, swaggerSecurityRequirementObject{"apiKey": []string{}})
|
||||
//s.Security = append(s.Security, swaggerSecurityRequirementObject{"apiKey": []string{}})
|
||||
|
||||
requestResponseRefs := refMap{}
|
||||
renderServiceRoutes(p.Api.Service, p.Api.Service.Groups, s.Paths, requestResponseRefs)
|
||||
@ -233,6 +233,10 @@ func renderServiceRoutes(service spec.Service, groups []spec.Group, paths swagge
|
||||
|
||||
operationObject.Description = strings.ReplaceAll(operationObject.Description, "\"", "")
|
||||
|
||||
if group.Annotation.Properties["jwt"] != "" {
|
||||
operationObject.Security = &[]swaggerSecurityRequirementObject{{"apiKey": []string{}}}
|
||||
}
|
||||
|
||||
switch strings.ToUpper(route.Method) {
|
||||
case http.MethodGet:
|
||||
pathItemObject.Get = operationObject
|
||||
@ -263,6 +267,10 @@ func renderReplyAsDefinition(d swaggerDefinitionsObject, m messageMap, p []spec.
|
||||
schema.Title = defineStruct.Name()
|
||||
|
||||
for _, member := range defineStruct.Members {
|
||||
if hasPathParameters(member) {
|
||||
continue
|
||||
}
|
||||
|
||||
kv := keyVal{Value: schemaOfField(member)}
|
||||
kv.Key = member.Name
|
||||
if tag, err := member.GetPropertyName(); err == nil {
|
||||
@ -297,6 +305,15 @@ func renderReplyAsDefinition(d swaggerDefinitionsObject, m messageMap, p []spec.
|
||||
}
|
||||
}
|
||||
|
||||
func hasPathParameters(member spec.Member) bool {
|
||||
for _, tag := range member.Tags() {
|
||||
if tag.Key == "path" {
|
||||
return true
|
||||
}
|
||||
}
|
||||
|
||||
return false
|
||||
}
|
||||
func schemaOfField(member spec.Member) swaggerSchemaObject {
|
||||
ret := swaggerSchemaObject{}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user