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{
|
var swaggerMapTypes = map[string]reflect.Kind{
|
||||||
"string": reflect.String,
|
"string": reflect.String,
|
||||||
|
"*string": reflect.String,
|
||||||
"int": reflect.Int,
|
"int": reflect.Int,
|
||||||
|
"*int": reflect.Int,
|
||||||
"int32": reflect.Int,
|
"int32": reflect.Int,
|
||||||
|
"*int32": reflect.Int,
|
||||||
"uint32": reflect.Int,
|
"uint32": reflect.Int,
|
||||||
|
"*uint32": reflect.Int,
|
||||||
"uint64": reflect.Int64,
|
"uint64": reflect.Int64,
|
||||||
|
"*uint64": reflect.Int64,
|
||||||
"int64": reflect.Int64,
|
"int64": reflect.Int64,
|
||||||
|
"*int64": reflect.Int64,
|
||||||
"[]string": reflect.Slice,
|
"[]string": reflect.Slice,
|
||||||
"[]int": reflect.Slice,
|
"[]int": reflect.Slice,
|
||||||
"[]int64": reflect.Slice,
|
"[]int64": reflect.Slice,
|
||||||
@ -22,9 +28,13 @@ var swaggerMapTypes = map[string]reflect.Kind{
|
|||||||
"[]uint32": reflect.Slice,
|
"[]uint32": reflect.Slice,
|
||||||
"[]uint64": reflect.Slice,
|
"[]uint64": reflect.Slice,
|
||||||
"bool": reflect.Bool,
|
"bool": reflect.Bool,
|
||||||
|
"*bool": reflect.Bool,
|
||||||
"struct": reflect.Struct,
|
"struct": reflect.Struct,
|
||||||
|
"*struct": reflect.Struct,
|
||||||
"float32": reflect.Float32,
|
"float32": reflect.Float32,
|
||||||
|
"*float32": reflect.Float32,
|
||||||
"float64": reflect.Float64,
|
"float64": reflect.Float64,
|
||||||
|
"*float64": reflect.Float64,
|
||||||
}
|
}
|
||||||
|
|
||||||
// http://swagger.io/specification/#infoObject
|
// http://swagger.io/specification/#infoObject
|
||||||
|
@ -59,7 +59,7 @@ func applyGenerate(p *plugin.Plugin, host string, basePath string) (*swaggerObje
|
|||||||
newSecDefValue.In = "header"
|
newSecDefValue.In = "header"
|
||||||
s.SecurityDefinitions["apiKey"] = newSecDefValue
|
s.SecurityDefinitions["apiKey"] = newSecDefValue
|
||||||
|
|
||||||
s.Security = append(s.Security, swaggerSecurityRequirementObject{"apiKey": []string{}})
|
//s.Security = append(s.Security, swaggerSecurityRequirementObject{"apiKey": []string{}})
|
||||||
|
|
||||||
requestResponseRefs := refMap{}
|
requestResponseRefs := refMap{}
|
||||||
renderServiceRoutes(p.Api.Service, p.Api.Service.Groups, s.Paths, requestResponseRefs)
|
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, "\"", "")
|
operationObject.Description = strings.ReplaceAll(operationObject.Description, "\"", "")
|
||||||
|
|
||||||
|
if group.Annotation.Properties["jwt"] != "" {
|
||||||
|
operationObject.Security = &[]swaggerSecurityRequirementObject{{"apiKey": []string{}}}
|
||||||
|
}
|
||||||
|
|
||||||
switch strings.ToUpper(route.Method) {
|
switch strings.ToUpper(route.Method) {
|
||||||
case http.MethodGet:
|
case http.MethodGet:
|
||||||
pathItemObject.Get = operationObject
|
pathItemObject.Get = operationObject
|
||||||
@ -263,6 +267,10 @@ func renderReplyAsDefinition(d swaggerDefinitionsObject, m messageMap, p []spec.
|
|||||||
schema.Title = defineStruct.Name()
|
schema.Title = defineStruct.Name()
|
||||||
|
|
||||||
for _, member := range defineStruct.Members {
|
for _, member := range defineStruct.Members {
|
||||||
|
if hasPathParameters(member) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
kv := keyVal{Value: schemaOfField(member)}
|
kv := keyVal{Value: schemaOfField(member)}
|
||||||
kv.Key = member.Name
|
kv.Key = member.Name
|
||||||
if tag, err := member.GetPropertyName(); err == nil {
|
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 {
|
func schemaOfField(member spec.Member) swaggerSchemaObject {
|
||||||
ret := swaggerSchemaObject{}
|
ret := swaggerSchemaObject{}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user