package Ġio . mic ronaut . docs . server . consume s Ċ Ċ import Ġio . kot lint est . should Not Throw Any Ċ import Ġio . kot lint est . should Throw Ċ import Ġio . kot lint est . specs . String Spec Ċ import Ġio . mic ronaut . context . ApplicationContext Ċ import Ġio . mic ronaut . http . HttpRequest Ċ import Ġio . mic ronaut . http . MediaType Ċ import Ġio . mic ronaut . http . client . Rx HttpClient Ċ import Ġio . mic ronaut . http . client . exceptions . HttpClient Response Exception Ċ import Ġio . mic ronaut . runtime . server . Embedded Server Ċ Ċ class ĠCons umes Controller Spec : ĠString Spec () Ġ{ ĊĊĠĠĠ Ġval Ġembedded Server Ġ= Ġauto Close ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠApplication Context . run ( Embedded Server :: class . java , Ġmap Of (" spec . name " Ġto Ġ" consume ss pec ")) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġval Ġclient Ġ= Ġauto Close ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġembedded Server . application Context . create Bean ( Rx HttpClient :: class . java , Ġembedded Server . get URL ()) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġ" test Ġconsume s "() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbook Ġ= ĠBook () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbook . title Ġ= Ġ" The ĠStand " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbook . pages Ġ= Ġ 1 0 0 0 ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġshould Throw < HttpClient Response Exception > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclient . to Blocking (). exchange < Book , ĠAny >( HttpRequest . POST ("/ consume s ", Ġbook ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. contentType ( MediaType . APPLICATION _ FORM _ URL ENCODE D _ TYPE )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġshould Not Throw Any Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclient . to Blocking (). exchange < Book , ĠAny >( HttpRequest . POST ("/ consume s ", Ġbook ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. contentType ( MediaType . APPLICATION _ JSON )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġshould Not Throw Any Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclient . to Blocking (). exchange < Book , ĠAny >( HttpRequest . POST ("/ consume s / multiple ", Ġbook ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. contentType ( MediaType . APPLICATION _ FORM _ URL ENCODE D _ TYPE )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġshould Not Throw Any Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclient . to Blocking (). exchange < Book , ĠAny >( HttpRequest . POST ("/ consume s / multiple ", Ġbook ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. contentType ( MediaType . APPLICATION _ JSON )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġshould Not Throw Any Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclient . to Blocking (). exchange < Book , ĠAny >( HttpRequest . POST ("/ consume s / member ", Ġbook ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. contentType ( MediaType . TEXT _ PLAIN )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠBook Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġtitle : ĠString ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġvar Ġpages : ĠInt ? Ġ= Ġnull ĊĠĠĠ Ġ} Ċ } Ċ