package Ġde . rie ck pil . learning Ċ Ċ import Ġorg . springframework . http . Cache Control Ċ import Ġorg . springframework . http . Response Entity Ċ import Ġorg . springframework . web . bind . annotation . GetMapping Ċ import Ġorg . springframework . web . bind . annotation . RestController Ċ import Ġorg . springframework . web . context . request . WebRequest Ċ import Ġjava . util . concurrent . TimeUnit Ċ Ċ @ RestController Ċ class ĠMain Controller ( ĊĠ Ġprivate Ġval Ġperson Provider : ĠPerson Provider Ċ ) Ġ{ ĊĊĠ Ġ@ GetMapping ("/ api ") ĊĠ Ġfun ĠgetMessage ( web Request : ĠWeb Request ): ĠString Ġ{ ĊĠĠĠ Ġprintln ( web Request . header Names . forEach Ġ{ Ġheader Ġ-> ĊĠĠĠĠĠ Ġprintln ("$ header :${ web Request . getHeader ( header )} ") ĊĠĠĠ Ġ}) ĊĊĠĠĠ Ġreturn Ġ" Hello ĠWorld !" ĊĠ Ġ} ĊĊĠ Ġ@ GetMapping ("/ data ") ĊĠ Ġfun ĠgetData (): ĠResponseEntity < List < Person >> Ġ{ ĊĠĠĠ Ġval Ġpersons Ġ= Ġperson Provider . get Pers ons () ĊĊĠĠĠ Ġreturn ĠResponseEntity ĊĠĠĠĠĠ Ġ. ok () ĊĠĠĠĠĠ Ġ. e Tag ( persons . size . toString ()) ĊĠĠĠĠĠ Ġ. cache Control ( Cache Control . max Age ( 1 , ĠTimeUnit . DAYS )) ĊĠĠĠĠĠ Ġ. body ( persons ) ĊĠ Ġ} Ċ Ċ } ĊĊ