@@ -525,23 +525,16 @@ export class ControllerMiddleware {
525525
526526 ControllerMiddleware . validate ( {
527527 body : {
528- anyOf : [
529- {
528+ $ref : '#/definitions/Pet' ,
529+ definitions : {
530+ Pet : {
530531 type : 'object' ,
531532 required : [ 'name' , 'photoUrls' ] ,
532533 xml : { name : 'Pet' } ,
533534 title : 'Pet' ,
534535 properties : {
535536 id : { type : 'integer' , format : 'int64' } ,
536- category : {
537- type : 'object' ,
538- xml : { name : 'Category' } ,
539- title : 'Category' ,
540- properties : {
541- id : { type : 'integer' , format : 'int64' } ,
542- name : { type : 'string' }
543- }
544- } ,
537+ category : { $ref : '#/definitions/Category' } ,
545538 name : { type : 'string' , example : 'doggie' } ,
546539 photoUrls : {
547540 type : 'array' ,
@@ -551,24 +544,34 @@ export class ControllerMiddleware {
551544 tags : {
552545 type : 'array' ,
553546 xml : { wrapped : true } ,
554- items : {
555- type : 'object' ,
556- properties : {
557- id : { type : 'integer' , format : 'int64' } ,
558- name : { type : 'string' }
559- } ,
560- xml : { name : 'Tag' } ,
561- title : 'Tag'
562- }
547+ items : { xml : { name : 'tag' } , $ref : '#/definitions/Tag' }
563548 } ,
564549 status : {
565550 type : 'string' ,
566551 description : 'pet status in the store' ,
567552 enum : [ 'available' , 'pending' , 'sold' ]
568553 }
569554 }
555+ } ,
556+ Category : {
557+ type : 'object' ,
558+ xml : { name : 'Category' } ,
559+ title : 'Category' ,
560+ properties : {
561+ id : { type : 'integer' , format : 'int64' } ,
562+ name : { type : 'string' }
563+ }
564+ } ,
565+ Tag : {
566+ type : 'object' ,
567+ xml : { name : 'Tag' } ,
568+ title : 'Tag' ,
569+ properties : {
570+ id : { type : 'integer' , format : 'int64' } ,
571+ name : { type : 'string' }
572+ }
570573 }
571- ]
574+ }
572575 }
573576 } ) ,
574577
@@ -590,23 +593,16 @@ export class ControllerMiddleware {
590593
591594 ControllerMiddleware . validate ( {
592595 body : {
593- anyOf : [
594- {
596+ $ref : '#/definitions/Pet' ,
597+ definitions : {
598+ Pet : {
595599 type : 'object' ,
596600 required : [ 'name' , 'photoUrls' ] ,
597601 xml : { name : 'Pet' } ,
598602 title : 'Pet' ,
599603 properties : {
600604 id : { type : 'integer' , format : 'int64' } ,
601- category : {
602- type : 'object' ,
603- xml : { name : 'Category' } ,
604- title : 'Category' ,
605- properties : {
606- id : { type : 'integer' , format : 'int64' } ,
607- name : { type : 'string' }
608- }
609- } ,
605+ category : { $ref : '#/definitions/Category' } ,
610606 name : { type : 'string' , example : 'doggie' } ,
611607 photoUrls : {
612608 type : 'array' ,
@@ -616,24 +612,34 @@ export class ControllerMiddleware {
616612 tags : {
617613 type : 'array' ,
618614 xml : { wrapped : true } ,
619- items : {
620- type : 'object' ,
621- properties : {
622- id : { type : 'integer' , format : 'int64' } ,
623- name : { type : 'string' }
624- } ,
625- xml : { name : 'Tag' } ,
626- title : 'Tag'
627- }
615+ items : { xml : { name : 'tag' } , $ref : '#/definitions/Tag' }
628616 } ,
629617 status : {
630618 type : 'string' ,
631619 description : 'pet status in the store' ,
632620 enum : [ 'available' , 'pending' , 'sold' ]
633621 }
634622 }
623+ } ,
624+ Category : {
625+ type : 'object' ,
626+ xml : { name : 'Category' } ,
627+ title : 'Category' ,
628+ properties : {
629+ id : { type : 'integer' , format : 'int64' } ,
630+ name : { type : 'string' }
631+ }
632+ } ,
633+ Tag : {
634+ type : 'object' ,
635+ xml : { name : 'Tag' } ,
636+ title : 'Tag' ,
637+ properties : {
638+ id : { type : 'integer' , format : 'int64' } ,
639+ name : { type : 'string' }
640+ }
635641 }
636- ]
642+ }
637643 }
638644 } ) ,
639645
@@ -832,8 +838,9 @@ export class ControllerMiddleware {
832838
833839 ControllerMiddleware . validate ( {
834840 body : {
835- anyOf : [
836- {
841+ $ref : '#/definitions/Order' ,
842+ definitions : {
843+ Order : {
837844 type : 'object' ,
838845 xml : { name : 'Order' } ,
839846 title : 'Order' ,
@@ -850,7 +857,7 @@ export class ControllerMiddleware {
850857 complete : { type : 'boolean' }
851858 }
852859 }
853- ]
860+ }
854861 }
855862 } ) ,
856863
@@ -951,30 +958,29 @@ export class ControllerMiddleware {
951958
952959 ControllerMiddleware . validate ( {
953960 body : {
954- anyOf : [
955- {
956- type : 'array' ,
957- items : {
958- type : 'object' ,
959- properties : {
960- id : { type : 'integer' , format : 'int64' } ,
961- username : { type : 'string' } ,
962- firstName : { type : 'string' } ,
963- lastName : { type : 'string' } ,
964- email : { type : 'string' } ,
965- password : { type : 'string' } ,
966- phone : { type : 'string' } ,
967- userStatus : {
968- type : 'integer' ,
969- format : 'int32' ,
970- description : 'User Status'
971- }
972- } ,
973- xml : { name : 'User' } ,
974- title : 'user'
961+ type : 'array' ,
962+ items : { $ref : '#/definitions/user' } ,
963+ definitions : {
964+ user : {
965+ type : 'object' ,
966+ xml : { name : 'User' } ,
967+ title : 'user' ,
968+ properties : {
969+ id : { type : 'integer' , format : 'int64' } ,
970+ username : { type : 'string' } ,
971+ firstName : { type : 'string' } ,
972+ lastName : { type : 'string' } ,
973+ email : { type : 'string' } ,
974+ password : { type : 'string' } ,
975+ phone : { type : 'string' } ,
976+ userStatus : {
977+ type : 'integer' ,
978+ format : 'int32' ,
979+ description : 'User Status'
980+ }
975981 }
976982 }
977- ]
983+ }
978984 }
979985 } ) ,
980986
@@ -999,30 +1005,29 @@ export class ControllerMiddleware {
9991005
10001006 ControllerMiddleware . validate ( {
10011007 body : {
1002- anyOf : [
1003- {
1004- type : 'array' ,
1005- items : {
1006- type : 'object' ,
1007- properties : {
1008- id : { type : 'integer' , format : 'int64' } ,
1009- username : { type : 'string' } ,
1010- firstName : { type : 'string' } ,
1011- lastName : { type : 'string' } ,
1012- email : { type : 'string' } ,
1013- password : { type : 'string' } ,
1014- phone : { type : 'string' } ,
1015- userStatus : {
1016- type : 'integer' ,
1017- format : 'int32' ,
1018- description : 'User Status'
1019- }
1020- } ,
1021- xml : { name : 'User' } ,
1022- title : 'user'
1008+ type : 'array' ,
1009+ items : { $ref : '#/definitions/user' } ,
1010+ definitions : {
1011+ user : {
1012+ type : 'object' ,
1013+ xml : { name : 'User' } ,
1014+ title : 'user' ,
1015+ properties : {
1016+ id : { type : 'integer' , format : 'int64' } ,
1017+ username : { type : 'string' } ,
1018+ firstName : { type : 'string' } ,
1019+ lastName : { type : 'string' } ,
1020+ email : { type : 'string' } ,
1021+ password : { type : 'string' } ,
1022+ phone : { type : 'string' } ,
1023+ userStatus : {
1024+ type : 'integer' ,
1025+ format : 'int32' ,
1026+ description : 'User Status'
1027+ }
10231028 }
10241029 }
1025- ]
1030+ }
10261031 }
10271032 } ) ,
10281033
@@ -1079,8 +1084,9 @@ export class ControllerMiddleware {
10791084
10801085 ControllerMiddleware . validate ( {
10811086 body : {
1082- anyOf : [
1083- {
1087+ $ref : '#/definitions/user' ,
1088+ definitions : {
1089+ user : {
10841090 type : 'object' ,
10851091 xml : { name : 'User' } ,
10861092 title : 'user' ,
@@ -1099,7 +1105,7 @@ export class ControllerMiddleware {
10991105 }
11001106 }
11011107 }
1102- ]
1108+ }
11031109 } ,
11041110
11051111 params : {
@@ -1210,8 +1216,9 @@ export class ControllerMiddleware {
12101216
12111217 ControllerMiddleware . validate ( {
12121218 body : {
1213- anyOf : [
1214- {
1219+ $ref : '#/definitions/user' ,
1220+ definitions : {
1221+ user : {
12151222 type : 'object' ,
12161223 xml : { name : 'User' } ,
12171224 title : 'user' ,
@@ -1230,7 +1237,7 @@ export class ControllerMiddleware {
12301237 }
12311238 }
12321239 }
1233- ]
1240+ }
12341241 }
12351242 } ) ,
12361243
0 commit comments