package Ġio . github . ka is ery . shi . micro service . common . converter Ċ Ċ import Ġcom . fasterxml . jackson . databind . Deserialization Feature Ċ import Ġcom . fasterxml . jackson . databind . ObjectMapper Ċ import Ġorg . springframework . http . Http Input Message Ċ import Ġorg . springframework . http . Http Output Message Ċ import Ġorg . springframework . http . MediaType Ċ import Ġorg . springframework . http . converter . Form Http Message Converter Ċ import Ġorg . springframework . http . converter . Http Message Converter Ċ import Ġorg . springframework . util . Linked Multi Value Map Ċ import Ġorg . springframework . util . Multi Value Map Ċ Ċ class ĠObject Http Message Converter Ġ: ĠHttp Message Converter < Any > Ġ{ ĊĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠ Ġval Ġform Http Message Converter Ġ= ĠForm Http Message Converter () ĊĠĠĠ Ġval ĠobjectMapper Ġ= ĠObjectMapper () ĊĊĠĠĠ Ġprivate Ġval ĠLINK ED _ MULTI _ VALUE _ MAP Ġ= ĠLinked Multi Value Map < String , ĠString >() ĊĠĠĠ Ġprivate Ġval ĠLINK ED _ MULTI _ VALUE _ MAP _ CLASS Ġ= ĠLINK ED _ MULTI _ VALUE _ MAP . java Class ĊĠ Ġ} ĊĊĠ Ġinit Ġ{ ĊĠĠĠ ĠobjectMapper . enable ( Deserialization Feature . ACCEPT _ SINGLE _ VALUE _ AS _ ARRAY ) ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġcan Read ( clazz : ĠClass <* >, Ġmedia Type : ĠMediaType ?): ĠBoolean Ġ{ ĊĠĠĠ Ġreturn ĠobjectMapper . can Serialize ( clazz ) Ġ&& Ġform Http Message Converter . can Read ( Multi Value Map :: class . java , Ġmedia Type ) ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġcan Write ( clazz : ĠClass <* >, Ġmedia Type : ĠMediaType ?): ĠBoolean Ġ{ ĊĠĠĠ Ġreturn ĠobjectMapper . can Serialize ( clazz ) Ġ&& Ġform Http Message Converter . can Read ( Multi Value Map :: class . java , Ġmedia Type ) ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġget Supported Media Types (): ĠMutable List < MediaType > Ġ{ ĊĠĠĠ Ġreturn Ġform Http Message Converter . supported Media Types ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġwrite ( t : ĠAny , ĠcontentType : ĠMediaType ?, Ġoutput Message : ĠHttp Output Message ) Ġ{ ĊĠĠĠ Ġform Http Message Converter . write ( ĊĠĠĠĠĠ ĠobjectMapper . convert Value ( t , ĠLINK ED _ MULTI _ VALUE _ MAP _ CLASS ), ĊĠĠĠĠĠ ĠcontentType , ĊĠĠĠĠĠ Ġoutput Message ĊĠĠĠ Ġ) ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġread ( clazz : ĠClass < out ĠAny >, Ġinput Message : ĠHttp Input Message ): ĠAny Ġ{ ĊĠĠĠ Ġval Ġinput Ġ= Ġform Http Message Converter . read ( ĊĠĠĠĠĠ ĠLINK ED _ MULTI _ VALUE _ MAP _ CLASS , ĊĠĠĠĠĠ Ġinput Message ĊĠĠĠ Ġ). to Single Value Map () ĊĊĠĠĠ Ġreturn ĠobjectMapper . convert Value ( input , Ġclazz ) ĊĠ Ġ} Ċ } Ċ