package Ġpers . ac p . spring . boot . tools Ċ Ċ import Ġcom . fasterxml . jackson . annotation . JsonInclude Ċ import Ġcom . fasterxml . jackson . databind . ObjectMapper Ċ import Ġcom . fasterxml . jackson . databind . Property Naming Str ategies Ċ import Ġcom . fasterxml . jackson . databind . Property Naming Strategy Ċ import Ġorg . springframework . boot . autoconfigure . jackson . Jack son Properties Ċ import Ġorg . springframework . core . env . Environment Ċ import Ġorg . springframework . http . converter . json . Jack son 2 ObjectMapper Builder Ċ import Ġpers . ac p . core . Common Tools Ċ import Ġpers . ac p . spring . boot . vo . Error Vo Ċ import Ġpers . ac p . spring . boot . enums . Response Code Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠShe ph erd Ġon Ġ 2 0 1 6 - 0 8 - 0 5 . Ċ Ġ* ĠæĬ ¥ æĸĩ æ¶Īæģ¯ å·¥åħ· ç±» Ċ Ġ*/ Ċ object ĠPackage Tools Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġæł¹æį® çİ¯å¢ĥ éħįç½® ï¼Į æŀĦå»º Ġmapper ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġenvironment Ġ çİ¯å¢ĥ éħįç½® ĊĠĠĠĠ Ġ* Ġ@ return Ġmapper ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġbuild Jack son ObjectMapper ( environment : ĠEnvironment ): ĠObjectMapper Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġj ack son Properties Ġ= ĠJack son Properties () ĊĠĠĠĠĠĠĠ Ġj ack son Properties . property Naming Strategy Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġenvironment . getProperty (" spring . jackson . property - naming - strategy ", Ġ"") ĊĠĠĠĠĠĠĠ Ġif Ġ(" non _ null " Ġ== Ġenvironment . getProperty (" spring . jackson . default - property - in clusion ", Ġ""). lowercase ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġj ack son Properties . default Property In clusion Ġ= ĠJson Include . Include . NON _ NULL ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġbuild Jack son ObjectMapper ( jackson Properties ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġæł¹æį® éħįç½®æĸĩä»¶ ï¼Į æŀĦå»º Ġmapper ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġj ack son Properties Ġéħįç½® ä¿¡æģ¯ ĊĠĠĠĠ Ġ* Ġ@ return Ġmapper ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġbuild Jack son ObjectMapper ( jackson Properties : ĠJack son Properties ): ĠObjectMapper Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠJack son 2 ObjectMapper Builder . json () ĊĠĠĠĠĠĠĠ Ġvar Ġproperty Naming Strategy Default Ġ= ĠProperty Naming Strategy () ĊĠĠĠĠĠĠĠ Ġif Ġ(" S NA KE _ CASE " Ġ== Ġj ack son Properties . property Naming Strategy . uppercase ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproperty Naming Strategy Default Ġ= ĠProperty Naming Str ategies . Snake Case Strategy () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġbuilder . property Naming Strategy ( property Naming Strategy Default ) ĊĠĠĠĠĠĠĠ Ġif Ġ( jackson Properties . default Property In clusion Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . serialization In clusion ( jackson Properties . default Property In clusion ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġbuilder . property Naming Strategy ( property Naming Strategy Default ). build () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ æŀĦå»º åĵįåºĶ æĬ¥ æĸĩ ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġresponse Code Ġ åĵįåºĶ ä»£çłģ ĊĠĠĠĠ Ġ* Ġ@ param Ġmsg ĠĠĠĠĠĠĠĠĠ Ġ åĵįåºĶ ä¿¡æģ¯ ĊĠĠĠĠ Ġ* Ġ@ return Ġ åĵįåºĶ æĬ¥ æĸĩ JSON å¯¹è±¡ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġbuild ErrorResponse Package ( response Code : ĠResponse Code , Ġmsg : ĠString ?): ĠError Vo Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġmessage Ġ= Ġmsg ĊĠĠĠĠĠĠĠ Ġif Ġ( Common Tools . isNull Str ( message )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmessage Ġ= Ġresponse Code . description ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġbuild ErrorResponse Package ( response Code . value , Ġmessage ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ æŀĦå»º åĵįåºĶ æĬ¥ æĸĩ ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġcode Ġ åĵįåºĶ ä»£çłģ ĊĠĠĠĠ Ġ* Ġ@ param Ġmsg Ġ Ġ åĵįåºĶ ä¿¡æģ¯ ĊĠĠĠĠ Ġ* Ġ@ return Ġ åĵįåºĶ æĬ¥ æĸĩ JSON å¯¹è±¡ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġbuild ErrorResponse Package ( code : ĠInt , Ġmsg : ĠString ?): ĠError Vo Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġerror VO Ġ= ĠError Vo () ĊĠĠĠĠĠĠĠ Ġerror VO . code Ġ= Ġcode ĊĠĠĠĠĠĠĠ Ġerror VO . error Ġ= Ġmsg ĊĠĠĠĠĠĠĠ Ġerror VO . error Description Ġ= Ġmsg ĊĠĠĠĠĠĠĠ Ġreturn Ġerror VO ĊĠĠĠ Ġ} Ċ Ċ } Ċ