package Ġorg . ev om aster . resource . rest . generator . implementation . java Ċ Ċ import Ġorg . ev om aster . resource . rest . generator . template . Tag Ċ Ċ /** Ċ Ġ* Ġcreated Ġby Ġman zh Ġon Ġ 2 0 1 9 - 0 8 - 1 5 Ċ Ġ*/ Ċ object ĠSpring Annotation Ġ{ ĊĊĠĠĠ Ġ// from Ġorg . springframework . web . bind . annotation ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠA Ġconvenience Ġannotation Ġthat Ġis Ġitself Ġannotated Ġwith Ġ@ Controller Ġand Ġ@ ResponseBody . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval ĠREST _ CONTROLLER Ġ= ĠTag (" RestController ") ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠAnnotation Ġfor Ġmapping Ġweb Ġrequests Ġonto Ġmethods Ġin Ġrequest - handling Ġclasses Ġwith Ġflexible Ġmethod Ġsignatures . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval ĠREQUEST _ MAPPING Ġ= Ġobject Ġ: ĠTag (" RequestMapping "){ ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġvalid Ġparams : ĊĠĠĠĠĠĠĠĠ Ġ* Ġconsume s Ġ: ĠString [] Ġ-- ĠThe Ġconsum able Ġmedia Ġtypes Ġof Ġthe Ġmapped Ġrequest , Ġnarrow ing Ġthe Ġprimary Ġmapping . ĊĠĠĠĠĠĠĠĠ Ġ* Ġheaders Ġ: Ġ ĠString [] Ġ-- ĠThe Ġheaders Ġof Ġthe Ġmapped Ġrequest , Ġnarrow ing Ġthe Ġprimary Ġmapping . ĊĠĠĠĠĠĠĠĠ Ġ* Ġmethod Ġ: Ġ ĠString [] Ġ-- ĠThe ĠHTTP Ġrequest Ġmethods Ġto Ġmap Ġto , Ġnarrow ing Ġthe Ġprimary Ġmapping : ĠGET , ĠPOST , ĠHEAD , ĠOPTIONS , ĠPUT , ĠP ATCH , ĠDELETE , ĠTRACE . ĊĠĠĠĠĠĠĠĠ Ġ* Ġname Ġ: Ġ ĠString [] Ġ-- ĠAssign Ġa Ġname Ġto Ġthis Ġmapping . ĊĠĠĠĠĠĠĠĠ Ġ* Ġparams Ġ: Ġ ĠString [] Ġ-- ĠThe Ġparameters Ġof Ġthe Ġmapped Ġrequest , Ġnarrow ing Ġthe Ġprimary Ġmapping . ĊĠĠĠĠĠĠĠĠ Ġ* Ġpath Ġ: Ġ ĠString [] Ġ-- ĠThe Ġpath Ġmapping ĠURIs Ġ( e . g . ĊĠĠĠĠĠĠĠĠ Ġ* Ġproduces Ġ: Ġ ĠString [] Ġ-- ĠThe Ġpro duc ible Ġmedia Ġtypes Ġof Ġthe Ġmapped Ġrequest , Ġnarrow ing Ġthe Ġprimary Ġmapping . ĊĠĠĠĠĠĠĠĠ Ġ* Ġvalue Ġ: Ġ ĠString [] Ġ-- ĠThe Ġprimary Ġmapping Ġexpressed Ġby Ġthis Ġannotation . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġparams Ġ= Ġmap Of (" consume s " Ġto Ġtrue ," headers " Ġto Ġfalse ," method " Ġto Ġtrue ," name " Ġto Ġfalse ," params " Ġto Ġfalse ," path " Ġto Ġfalse ," pro duces " Ġto Ġtrue , Ġ" value " Ġto Ġfalse ) ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġvalidate Params ( param : ĠString ): ĠBoolean Ġ= Ġparams . containsKey ( param ) ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġwithout Quot ation ( param : ĠString ): ĠBoolean Ġ= Ġparams . getValue ( param ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠAnnotation Ġindicating Ġa Ġmethod Ġparameter Ġshould Ġbe Ġbound Ġto Ġthe Ġbody Ġof Ġthe Ġweb Ġrequest . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval ĠREQUEST _ BODY Ġ= ĠTag (" RequestBody ") ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠAnnotation Ġwhich Ġindicates Ġthat Ġa Ġmethod Ġparameter Ġshould Ġbe Ġbound Ġto Ġa Ġweb Ġrequest Ġparameter . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval ĠREQUEST _ PARAM Ġ= Ġobject Ġ: ĠTag (" RequestParam "){ ĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġvalid Ġparams : ĊĠĠĠĠĠĠĠĠ Ġ* Ġname Ġ: ĠString Ġ-- ĠThe Ġname Ġof Ġthe Ġrequest Ġparameter Ġto Ġbind Ġto . ĊĠĠĠĠĠĠĠĠ Ġ* Ġrequired Ġ: Ġ Ġboolean Ġ-- ĠWhether Ġthe Ġparameter Ġis Ġrequired . ĊĠĠĠĠĠĠĠĠ Ġ* Ġvalue Ġ: Ġ ĠString Ġ-- ĠAlias Ġfor Ġname (). ĊĠĠĠĠĠĠĠĠ Ġ* ĠdefaultValue Ġ: ĠString ĠThe Ġdefault Ġvalue Ġto Ġuse Ġas Ġa Ġfallback Ġwhen Ġthe Ġrequest Ġparameter Ġis Ġnot Ġprovided Ġor Ġhas Ġan Ġempty Ġvalue . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġparams Ġ= Ġmap Of (" name " Ġto Ġfalse ," required " Ġto Ġtrue , Ġ" value " Ġto Ġfalse , Ġ" defaultValue " Ġto Ġfalse ) ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġvalidate Params ( param : ĠString ): ĠBoolean Ġ= Ġparams . containsKey ( param ) ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġwithout Quot ation ( param : ĠString ): ĠBoolean Ġ= Ġparams . getValue ( param ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠAnnotation Ġwhich Ġindicates Ġthat Ġa Ġmethod Ġparameter Ġshould Ġbe Ġbound Ġto Ġa ĠURI Ġtemplate Ġvariable . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval ĠPATH _ VAR Ġ= Ġobject Ġ: ĠTag (" PathVariable "){ ĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġvalid Ġparams : ĊĠĠĠĠĠĠĠĠ Ġ* Ġname Ġ: ĠString Ġ-- ĠThe Ġname Ġof Ġthe Ġpath Ġvariable Ġto Ġbind Ġto . ĊĠĠĠĠĠĠĠĠ Ġ* Ġrequired Ġ: Ġ Ġboolean Ġ-- ĠWhether Ġthe Ġpath Ġvariable Ġis Ġrequired . ĊĠĠĠĠĠĠĠĠ Ġ* Ġvalue Ġ: Ġ ĠString Ġ-- ĠAlias Ġfor Ġname (). ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġparams Ġ= Ġmap Of (" name " Ġto Ġfalse ," required " Ġto Ġtrue , Ġ" value " Ġto Ġfalse ) ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġvalidate Params ( param : ĠString ): ĠBoolean Ġ= Ġparams . containsKey ( param ) ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġwithout Quot ation ( param : ĠString ): ĠBoolean Ġ= Ġparams . getValue ( param ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// org . springframework . beans . factory . annotation . Autowired ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠMark s Ġa Ġconstructor , Ġfield , Ġsetter Ġmethod , Ġor Ġconfig Ġmethod Ġas Ġto Ġbe Ġaut ow ired Ġby ĠSpring 's Ġdependency Ġinjection Ġfacilities . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval ĠAUTO _ WI RED Ġ= ĠTag (" Autowired ") ĊĊĠĠĠ Ġfun Ġrequired Packages () Ġ: ĠArray < String > Ġ= ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" org . springframework . web . bind . annotation .* ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" org . springframework . beans . factory . annotation .* " ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġ// org . springframework . stereotype . Repository ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠIndicates Ġthat Ġan Ġannotated Ġclass Ġis Ġa Ġ" Repository ", Ġoriginally Ġdefined Ġby ĠDomain - D riven ĠDesign Ġ( Ev ans , Ġ 2 0 0 3 ) Ġas Ġ" a Ġmechanism Ġfor Ġencaps ulating Ġstorage , Ġretrieval , Ġand Ġsearch Ġbehavior Ġwhich Ġem ulates Ġa Ġcollection Ġof Ġobjects ". ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval ĠRE POSITORY Ġ= ĠTag (" Repository ") ĊĊĊĠĠĠ Ġ// org . springframework . boot . autoconfigure ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠIndicates Ġa Ġconfiguration Ġclass Ġthat Ġdecl ares Ġone Ġor Ġmore Ġ@ Bean Ġmethods Ġand Ġalso Ġtriggers Ġauto - configuration Ġand Ġcomponent Ġscanning . ĠThis Ġis Ġa Ġconvenience Ġannotation Ġthat Ġis Ġequivalent Ġto Ġdeclaring Ġ@ Configuration , Ġ@ Enable Auto Configuration Ġand Ġ@ Component Scan . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval ĠSPR ING _ BOOT _ APPLICATION Ġ= Ġobject Ġ: ĠTag (" SpringBoot Application "){ ĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġvalid Ġparams : ĊĠĠĠĠĠĠĠĠ Ġ* Ġexclude Ġ: ĠClass <?> [] Ġ-- ĠExclude Ġspecific Ġauto - configuration Ġclasses Ġsuch Ġthat Ġthey Ġwill Ġnever Ġbe Ġapplied .. ĊĠĠĠĠĠĠĠĠ Ġ* Ġrequired Ġ: Ġ ĠString [] Ġ-- ĠExclude Ġspecific Ġauto - configuration Ġclass Ġnames Ġsuch Ġthat Ġthey Ġwill Ġnever Ġbe Ġapplied . ĊĠĠĠĠĠĠĠĠ Ġ* Ġscan Base Package Classes Ġ: Ġ ĠClass <?> [] Ġ-- ĠType - safe Ġalternative Ġto Ġscan Base Packages () Ġfor Ġspecifying Ġthe Ġpackages Ġto Ġscan Ġfor Ġannotated Ġcomponents . ĊĠĠĠĠĠĠĠĠ Ġ* Ġscan Base Packages Ġ: Ġ ĠString [] Ġ-- ĠBase Ġpackages Ġto Ġscan Ġfor Ġannotated Ġcomponents . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġparams Ġ= Ġmap Of (" exclude " Ġto Ġtrue ," exclude Name " Ġto Ġfalse , Ġ" scan Base Package Classes " Ġto Ġtrue , Ġ" scan Base Packages " Ġto Ġfalse ) ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġvalidate Params ( param : ĠString ): ĠBoolean Ġ= Ġparams . containsKey ( param ) ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġwithout Quot ation ( param : ĠString ): ĠBoolean Ġ= Ġparams . getValue ( param ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠIndicates Ġthat Ġa Ġmethod Ġproduces Ġa Ġbean Ġto Ġbe Ġmanaged Ġby Ġthe ĠSpring Ġcontainer . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval ĠBE AN Ġ= ĠTag (" Bean ") Ċ }