package Ġcom . is yst k . sample . web . front . controller . api . v 1 . entry Ċ Ċ import Ġcom . is yst k . sample . common . Const Ċ import Ġcom . is yst k . sample . common . Front Url Ċ import Ġcom . is yst k . sample . common . exception . ValidationError Exception Ċ import Ġcom . is yst k . sample . common . util . ObjectMapper Utils Ċ import Ġcom . is yst k . sample . domain . entity . T User Ċ import Ġcom . is yst k . sample . web . base . controller . api . Abstract RestController Ċ import Ġcom . is yst k . sample . web . base . controller . api . resource . Resource Ċ import Ġcom . is yst k . sample . web . front . service . Entry Service Ċ import Ġorg . springframework . beans . factory . annotation . Autowired Ċ import Ġorg . springframework . http . MediaType Ċ import Ġorg . springframework . security . crypto . password . Password Encoder Ċ import Ġorg . springframework . ui . Model Ċ import Ġorg . springframework . validation . Binding Result Ċ import Ġorg . springframework . validation . Errors Ċ import Ġorg . springframework . validation . annotation . Validated Ċ import Ġorg . springframework . web . bind . Web Data Binder Ċ import Ġorg . springframework . web . bind . annotation .* Ċ Ċ /** Ċ Ġ* Ġä¼ļ åĵ ¡ çĻ»éĮ² Ċ Ġ*/ Ċ @ RestController Ċ @ RequestMapping ( path Ġ= Ġ[ Front Url . API _ V 1 _ ENTRY _ REG IST ], Ġproduces Ġ= Ġ[ MediaType . APPLICATION _ JSON _ VALUE ]) Ċ class ĠEntry RestController Ġ: ĠAbstract RestController () Ġ{ ĊĠĠĠ Ġ@ Autowired ĊĠĠĠ Ġvar Ġentry Service : ĠEntry Service ? Ġ= Ġnull ĊĊĠĠĠ Ġ@ Autowired ĊĠĠĠ Ġvar Ġpassword Encoder : ĠPassword Encoder ? Ġ= Ġnull ĊĊĠĠĠ Ġ@ Autowired ĊĠĠĠ Ġvar Ġentry Form Validator : ĠEntry Rest Form Validator ? Ġ= Ġnull ĊĊĠĠĠ Ġ@ Model Attribute (" entry Rest Form ") ĊĠĠĠ Ġfun Ġentry Rest Form (): ĠEntry Rest Form Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠEntry Rest Form () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Init Binder (" entry Rest Form ") ĊĠĠĠ Ġfun Ġvalidator Binder ( binder : ĠWeb Data Binder ) Ġ{ ĊĠĠĠĠĠĠĠ Ġbinder . add Validators ( entry Form Validator ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget FunctionName (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ" API _ ENTRY " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ ä» ® ä¼ļ åĵ ¡ çĻ»éĮ² åĩ¦çĲĨ ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġform ĊĠĠĠĠ Ġ* Ġ@ param Ġbr ĊĠĠĠĠ Ġ* Ġ@ param Ġerrors ĊĠĠĠĠ Ġ* Ġ@ return ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ PostMapping ĊĠĠĠ Ġfun Ġont ime (@ Validated Ġ@ Model Attribute Ġform : ĠEntry Rest Form , Ġbr : ĠBinding Result , Ġerrors : ĠErrors ?): ĠResource Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresource Ġ= Ġresource Factory . create () ĊĊĠĠĠĠĠĠĠ Ġ// Ġ åħ¥åĬĽ ãĥģ ãĤ§ ãĥĥãĤ¯ ãĤ¨ãĥ© ãĥ¼ ãģĮãģĤãĤĭ åł´åĲĪãģ¯ ãĢģ åħĥ ãģ® çĶ» éĿ¢ ãģ« ãĤĤ ãģ© ãĤĭ ĊĠĠĠĠĠĠĠ Ġif Ġ( br . has Errors ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠValidation ErrorException ( errors ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġ åħ¥åĬĽ åĢ¤ ãģĭãĤī DTO ãĤĴä½ľæĪĲ ãģĻãĤĭ ĊĠĠĠĠĠĠĠ Ġval Ġinput User Ġ= ĠObjectMapper Utils . map ( form , ĠT User :: class . java ) ĊĠĠĠĠĠĠĠ Ġval Ġpassword Ġ= Ġform . password ĊĊĠĠĠĠĠĠĠ Ġ// Ġãĥĳ ãĤ¹ ãĥ¯ ãĥ¼ãĥī ãĤĴ ãĥı ãĥĥ ãĤ·ãĥ¥ åĮĸ ãģĻãĤĭ ĊĠĠĠĠĠĠĠ Ġinput User . password Ġ= Ġpassword Encoder !!. encode ( password ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġ ä» ® ä¼ļ åĵ ¡ çĻ»éĮ² ĊĠĠĠĠĠĠĠ Ġentry Service !!. regist Temporary ( input User ) ĊĠĠĠĠĠĠĠ Ġresource . message Ġ= ĠgetMessage ( Const . MESSAGE _ SUCCESS ) ĊĠĠĠĠĠĠĠ Ġreturn Ġresource ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġæľ¬ ä¼ļ åĵ ¡ çĻ»éĮ² åĩ¦çĲĨ ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġon etime Key ĊĠĠĠĠ Ġ* Ġ@ return ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Put Mapping ("{ on etime Key }") ĊĠĠĠ Ġfun Ġcomplete (@ PathVariable Ġon etime Key : ĠString , Ġmodel : ĠModel ?): ĠResource Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresource Ġ= Ġresource Factory . create () ĊĊĠĠĠĠĠĠĠ Ġ// Ġæľ¬ ä¼ļ åĵ ¡ çĻ»éĮ² ĊĠĠĠĠĠĠĠ Ġentry Service !!. regist Complete ( on etime Key ) ĊĠĠĠĠĠĠĠ Ġresource . message Ġ= ĠgetMessage ( Const . MESSAGE _ SUCCESS ) ĊĠĠĠĠĠĠĠ Ġreturn Ġresource ĊĠĠĠ Ġ} Ċ }