OpenAPI Bugfix: []byte should be treated as integer array

This commit is contained in:
mbohlool 2016-11-17 21:22:02 -08:00
parent cae6cf2cee
commit 02631bb7ff
2 changed files with 16 additions and 13 deletions

View File

@ -446,10 +446,15 @@ func (g openAPITypeWriter) generateMapProperty(t *types.Type) error {
} }
g.Do("Type: []string{\"object\"},\n", nil) g.Do("Type: []string{\"object\"},\n", nil)
g.Do("AdditionalProperties: &spec.SchemaOrBool{\nSchema: &spec.Schema{\nSchemaProps: spec.SchemaProps{\n", nil) g.Do("AdditionalProperties: &spec.SchemaOrBool{\nSchema: &spec.Schema{\nSchemaProps: spec.SchemaProps{\n", nil)
typeString, format := common.GetOpenAPITypeFormat(elemType.String())
if typeString != "" {
g.generateSimpleProperty(typeString, format)
g.Do("},\n},\n},\n", nil)
return nil
}
switch elemType.Kind { switch elemType.Kind {
case types.Builtin: case types.Builtin:
typeString, format := common.GetOpenAPITypeFormat(elemType.String()) return fmt.Errorf("please add type %v to getOpenAPITypeFormat function.", elemType)
g.generateSimpleProperty(typeString, format)
case types.Struct: case types.Struct:
g.generateReferenceProperty(t.Elem) g.generateReferenceProperty(t.Elem)
case types.Slice, types.Array: case types.Slice, types.Array:
@ -465,10 +470,15 @@ func (g openAPITypeWriter) generateSliceProperty(t *types.Type) error {
elemType := resolveAliasAndPtrType(t.Elem) elemType := resolveAliasAndPtrType(t.Elem)
g.Do("Type: []string{\"array\"},\n", nil) g.Do("Type: []string{\"array\"},\n", nil)
g.Do("Items: &spec.SchemaOrArray{\nSchema: &spec.Schema{\nSchemaProps: spec.SchemaProps{\n", nil) g.Do("Items: &spec.SchemaOrArray{\nSchema: &spec.Schema{\nSchemaProps: spec.SchemaProps{\n", nil)
typeString, format := common.GetOpenAPITypeFormat(elemType.String())
if typeString != "" {
g.generateSimpleProperty(typeString, format)
g.Do("},\n},\n},\n", nil)
return nil
}
switch elemType.Kind { switch elemType.Kind {
case types.Builtin: case types.Builtin:
typeString, format := common.GetOpenAPITypeFormat(elemType.String()) return fmt.Errorf("please add type %v to getOpenAPITypeFormat function.", elemType)
g.generateSimpleProperty(typeString, format)
case types.Struct: case types.Struct:
g.generateReferenceProperty(t.Elem) g.generateReferenceProperty(t.Elem)
default: default:

View File

@ -12324,15 +12324,8 @@ var OpenAPIDefinitions *common.OpenAPIDefinitions = &common.OpenAPIDefinitions{
AdditionalProperties: &spec.SchemaOrBool{ AdditionalProperties: &spec.SchemaOrBool{
Schema: &spec.Schema{ Schema: &spec.Schema{
SchemaProps: spec.SchemaProps{ SchemaProps: spec.SchemaProps{
Type: []string{"array"}, Type: []string{"string"},
Items: &spec.SchemaOrArray{ Format: "byte",
Schema: &spec.Schema{
SchemaProps: spec.SchemaProps{
Type: []string{"integer"},
Format: "byte",
},
},
},
}, },
}, },
}, },