github.com/AngusLu/go-swagger@v0.28.0/docs/use/spec/allOf.md (about) 1 # swagger:allOf 2 3 Marks an embedded type as a member for allOf 4 5 <!--more--> 6 7 ##### Syntax: 8 9 ``` 10 swagger:allOf 11 ``` 12 13 ##### Example: 14 15 ```go 16 // A SimpleOne is a model with a few simple fields 17 type SimpleOne struct { 18 ID int64 `json:"id"` 19 Name string `json:"name"` 20 Age int32 `json:"age"` 21 } 22 23 // A Something struct is used by other structs 24 type Something struct { 25 DID int64 `json:"did"` 26 Cat string `json:"cat"` 27 } 28 29 // Notable is a model in a transitive package. 30 // it's used for embedding in another model 31 // 32 // swagger:model withNotes 33 type Notable struct { 34 Notes string `json:"notes"` 35 36 Extra string `json:"extra"` 37 } 38 39 // An AllOfModel is composed out of embedded structs but it should build 40 // an allOf property 41 type AllOfModel struct { 42 // swagger:allOf 43 SimpleOne 44 // swagger:allOf 45 mods.Notable 46 47 Something // not annotated with anything, so should be included 48 49 CreatedAt strfmt.DateTime `json:"createdAt"` 50 } 51 ``` 52 53 ##### Result: 54 55 ```yaml 56 --- 57 definitions: 58 SimpleOne: 59 title: A SimpleOne is a model with a few simple fields 60 type: object 61 properties: 62 id: 63 type: integer 64 format: int64 65 name: 66 type: string 67 age: 68 type: integer 69 format: int32 70 Notable: 71 title: "Notable is a model in a transitive package.\nit's used for embedding in another model" 72 type: object 73 properties: 74 notes: 75 type: string 76 extra: 77 type: string 78 AllOfModel: 79 title: "An AllOfModel is composed out of embedded structs but it should build\nan allOf property" 80 allOf: 81 - $ref: "#/definitions/SimpleOne" 82 - $ref: "#/definitions/Notable" 83 - title: A Something struct is used by other structs 84 type: object 85 properties: 86 did: 87 type: integer 88 format: int64 89 cat: 90 type: string 91 - type: object 92 properties: 93 createdAt: 94 type: string 95 format: date-time 96 ```