Skip to content

Commit

Permalink
change perm
Browse files Browse the repository at this point in the history
  • Loading branch information
tianxiaoliang committed Mar 17, 2021
1 parent 17d80f3 commit d0c3e33
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 14 deletions.
15 changes: 7 additions & 8 deletions examples/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,23 +25,22 @@ type ID string
type Age int64

type Student struct {
Id ID `swag:"string"`
Id ID `swag:"string"`
Age Age
Name string
}

func modelTypeNameHandler(st reflect.Type) (string, bool) {
func modelTypeNameHandler(st reflect.Type) (string, bool) {
key := st.String()

if len(st.Name()) == 0 {
key = strings.Replace(key, "[]", "", -1)
}

if key=="main.Age" {
if key == "main.Age" {
return "number", true
}


return key, true
}

Expand All @@ -54,7 +53,7 @@ func main() {
ws.Route(ws.GET("/{medium}").To(getBookById).
Doc("Search a books").
Param(ws.PathParameter("medium", "digital or paperback").DataType("string")).
Param(ws.QueryParameter("language", "en,nl,de").DataType("string")).Metadata("tags",[]string{"users","desc"}).
Param(ws.QueryParameter("language", "en,nl,de").DataType("string")).Metadata("tags", []string{"users", "desc"}).
Param(ws.HeaderParameter("If-Modified-Since", "last known timestamp").DataType("string").DataFormat("datetime")).
Returns(200, "haha", Book{}))

Expand Down Expand Up @@ -82,9 +81,9 @@ func main() {
WebServicesUrl: "http://localhost:8080",
ApiPath: "/apidocs.json",
//FileStyle: "json",
OpenService: true,
SwaggerPath: "/apidocs/",
OutFilePath: filepath.Join(val, "api.yaml"),
OpenService: true,
SwaggerPath: "/apidocs/",
OutFilePath: filepath.Join(val, "api.yaml"),
ModelTypeNameHandler: modelTypeNameHandler}

config.Info.Description = "This is a sample server Book server"
Expand Down
7 changes: 3 additions & 4 deletions model_builder.go
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ func (b modelBuilder) addModel(st reflect.Type, nameOverride string) *Items {
sm.Properties[field.Name] = &Items{}
ft := field.Type
isCollection, ft := detectCollectionType(ft)
fieldName := modelBuilder{Config:b.Config}.keyFrom(ft)
fieldName := modelBuilder{Config: b.Config}.keyFrom(ft)
if !isCollection {
if ft.Kind() == reflect.Struct {
if fieldName == "time.Time" {
Expand All @@ -77,13 +77,13 @@ func (b modelBuilder) addModel(st reflect.Type, nameOverride string) *Items {
if ft.Kind() == reflect.Struct {
sm.Properties[field.Name].Type = "object"
sm.Properties[field.Name].AdditionalProperties = &Items{}
modelName = modelBuilder{Config:b.Config}.keyFrom(ft)
modelName = modelBuilder{Config: b.Config}.keyFrom(ft)
sm.Properties[field.Name].AdditionalProperties.Ref = getModelName(modelName)
b.addModel(ft, "")
} else {
sm.Properties[field.Name].Type = "object"
sm.Properties[field.Name].AdditionalProperties = &Items{}
modelName = modelBuilder{Config:b.Config}.keyFrom(ft)
modelName = modelBuilder{Config: b.Config}.keyFrom(ft)
sm.Properties[field.Name].AdditionalProperties.Type = getOtherName(modelName)
if getOtherName(modelName) == "integer" || getOtherName(modelName) == "number" {
sm.Properties[field.Name].AdditionalProperties.Format = getFormat(modelName)
Expand Down Expand Up @@ -169,7 +169,6 @@ func (b modelBuilder) nameOfField(field reflect.StructField) string {
return field.Name
}


// typeOfField returns the type of the field as it should appear in JSON format
// An empty string indicates that this field is not part of the JSON representation
func (b modelBuilder) typeOfField(field reflect.StructField) string {
Expand Down
4 changes: 2 additions & 2 deletions swagger_webservice.go
Original file line number Diff line number Diff line change
Expand Up @@ -65,15 +65,15 @@ func (sws SwaggerService) WriteToFile() {
if sws.config.FileStyle == "json" {
list, err := json.Marshal(listing)
if err == nil {
err1 := ioutil.WriteFile(sws.config.OutFilePath, list, 0644)
err1 := ioutil.WriteFile(sws.config.OutFilePath, list, 0600)
if err1 != nil {
log.Printf("fail to write to file", err1)
}
}
} else {
list, err := yaml.Marshal(listing)
if err == nil {
err1 := ioutil.WriteFile(sws.config.OutFilePath, list, 0644)
err1 := ioutil.WriteFile(sws.config.OutFilePath, list, 0600)
if err1 != nil {
log.Printf("fail to write to file", err1)
}
Expand Down

0 comments on commit d0c3e33

Please sign in to comment.