package Ġno . nav . sy fo . controller Ċ Ċ import Ġno . nav . security . token . support . core . exceptions . Jwt Token Invalid Claim Exception Ċ import Ġno . nav . security . token . support . spring . validation . interceptor . Jwt Token Unauthorized Exception Ċ import Ġno . nav . sy fo . exception . Abstract ApiError Ċ import Ġno . nav . sy fo . exception . Fin nes In ns end t S ok nad Exception Ċ import Ġno . nav . sy fo . exception . Ik ke Til gang Exception Ċ import Ġno . nav . sy fo . exception . LogLevel Ċ import Ġno . nav . sy fo . logger Ċ import Ġno . nav . sy fo . repository . Sy ke pen ge so kn ad DAO . S ok nad Ik ke Fun net Exception Ċ import Ġorg . springframework . http . HttpStatus Ċ import Ġorg . springframework . http . Response Entity Ċ import Ġorg . springframework . web . Http MediaType Not Accept able Exception Ċ import Ġorg . springframework . web . bind . annotation . Controller Ad vice Ċ import Ġorg . springframework . web . bind . annotation . ExceptionHandler Ċ import Ġjavax . servlet . http . HttpServletRequest Ċ Ċ @ Controller Ad vice Ċ class ĠGlobal ExceptionHandler Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġlog Ġ= Ġlogger () ĊĊĠĠĠ Ġ@ ExceptionHandler ( java . lang . Exception :: class ) ĊĠĠĠ Ġfun Ġhandle Exception ( ex : ĠException , Ġrequest : ĠHttpServletRequest ): ĠResponseEntity < Any > Ġ{ ĊĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( ex ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠAbstract ApiError Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( ex . log level ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLogLevel . WARN Ġ-> Ġlog . warn ( ex . message , Ġex ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLogLevel . ERROR Ġ-> Ġlog . error ( ex . message , Ġex ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLogLevel . OFF Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠResponseEntity ( ApiError ( ex . reason ), Ġex . http Status ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠIn gen Til gang Exception Ġ-> Ġsk ap Response Entity ( HttpStatus . FOR BID DEN ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠFin nes In ns end t S ok nad Exception Ġ-> Ġsk ap Response Entity ( HttpStatus . FOR BID DEN ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠI k ke Til gang Exception Ġ-> Ġsk ap Response Entity ( HttpStatus . FOR BID DEN ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠS ok nad Ik ke Fun net Exception Ġ-> Ġsk ap Response Entity ( HttpStatus . NOT _ FOUND ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠJwt Token Invalid Claim Exception Ġ-> Ġsk ap Response Entity ( HttpStatus . UN AUTHORIZ ED ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠJwt Token Unauthorized Exception Ġ-> Ġsk ap Response Entity ( HttpStatus . UN AUTHORIZ ED ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠHttp MediaType Not Accept able Exception Ġ-> Ġsk ap Response Entity ( HttpStatus . NOT _ ACCEPT ABLE ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlog . error (" Internal Ġserver Ġerror Ġ- Ġ${ ex . message } Ġ- Ġ${ request . method }: Ġ${ request . request URI }", Ġex ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsk ap Response Entity ( HttpStatus . INTERNAL _ SERVER _ ERROR ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġfun Ġsk ap Response Entity ( status : ĠHttpStatus ): ĠResponseEntity < Any > Ġ= ĊĠĠĠ ĠResponseEntity ( ApiError ( status . reason Phrase ), Ġstatus ) Ċ Ċ private Ġdata Ġclass ĠApi Error ( val Ġreason : ĠString ) Ċ