package Ġcom . art em k ax boy . tel er est . controller Ċ Ċ import Ġcom . art em k ax boy . tel er est . config . API _ V 1 Ċ import Ġcom . art em k ax boy . tel er est . dto . Message Dto Ċ import Ġcom . art em k ax boy . tel er est . dto . Response Dto Ċ import Ġcom . art em k ax boy . tel er est . service . telegram . Telegram Send Service Ċ import Ġio . swagger . v 3 . o as . annotations . Operation Ċ import Ġio . swagger . v 3 . o as . annotations . Parameter Ċ import Ġio . swagger . v 3 . o as . annotations . responses . ApiResponse Ċ import Ġio . swagger . v 3 . o as . annotations . tags . Tag Ċ import Ġorg . springframework . http . MediaType Ċ import Ġorg . springframework . http . server . reactive . Server HttpRequest Ċ import Ġorg . springframework . http . server . reactive . Server HttpResponse Ċ import Ġorg . springframework . web . bind . annotation . PostMapping Ċ import Ġorg . springframework . web . bind . annotation . RequestBody Ċ import Ġorg . springframework . web . bind . annotation . RequestMapping Ċ import Ġorg . springframework . web . bind . annotation . RestController Ċ import Ġreactor . core . publisher . Mono Ċ import Ġreactor . kotlin . core . publisher . to Mono Ċ Ċ // Ġhttps :// www . ba eld ung . com / spring - web flux Ċ @ RestController Ċ @ RequestMapping ( value Ġ= Ġ[" api /$ API _ V 1 "]) Ċ @ Tag ( name Ġ= Ġ" Message Ġcontroller ", Ġdescription Ġ= Ġ" Perform Ġmessages Ġoperation ") Ċ class ĠMessage Controller ( ĊĠĠĠ Ġval Ġtele gram Send Service : ĠTelegram Send Service Ċ ) Ġ{ ĊĊĠĠĠ Ġ@ PostMapping ( ĊĠĠĠĠĠĠĠ Ġ"/ message ", ĊĠĠĠĠĠĠĠ Ġconsume s Ġ= Ġ[ MediaType . APPLICATION _ JSON _ VALUE ], ĊĠĠĠĠĠĠĠ Ġproduces Ġ= Ġ[ MediaType . APPLICATION _ JSON _ VALUE ] ĊĠĠĠ Ġ) ĊĠĠĠ Ġ@ Operation ( summary Ġ= Ġ" Post Ġmessage ", Ġresponses Ġ= Ġ[ ApiResponse ( response Code Ġ= Ġ" 2 0 2 ") ]) ĊĠĠĠ Ġsuspend Ġfun Ġpost Message ( ĊĊĠĠĠĠĠĠĠ Ġ@ Parameter ( description Ġ= Ġ" Message Ġdata ") ĊĠĠĠĠĠĠĠ Ġ@ RequestBody ( required Ġ= Ġtrue ) ĊĠĠĠĠĠĠĠ Ġmessage : ĠMessage Dto , ĊĊĠĠĠĠĠĠĠ Ġrequest : ĠServer HttpRequest , ĊĠĠĠĠĠĠĠ Ġresponse : ĠServer HttpResponse ĊĠĠĠ Ġ): ĠMono < Response Dto > Ġ{ ĊĊĠĠĠĠĠĠĠ Ġreturn ĠResponse Dto ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. wrap Result ( request , Ġresponse , Ġtele gram Send Service . sendMessage ( message . chat Id , Ġmessage . text )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. to Mono () ĊĠĠĠ Ġ} Ċ } Ċ