package Ġcom . dio g obot as . ve gan info . handler Ċ Ċ import Ġcom . dio g obot as . ve gan info . model . Product Ċ import Ġcom . dio g obot as . ve gan info . service . Product Service Ċ import Ġorg . springframework . http . MediaType Ċ import Ġorg . springframework . stereotype . Component Ċ import Ġorg . springframework . web . reactive . function . Body Inser ters Ċ import Ġorg . springframework . web . reactive . function . server . Server Request Ċ import Ġorg . springframework . web . reactive . function . server . Server Response Ċ import Ġreactor . core . publisher . Mono Ċ Ċ @ Component Ċ class ĠProduct Handler Ġ( ĊĠĠĠ Ġval Ġproduct Service : ĠProduct Service Ċ ) Ġ{ ĊĊĠĠĠ Ġfun Ġcreate Product ( request : ĠServer Request ): ĠMono < Server Response > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġproduct Service ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. create Product ( request . body To Mono ( Product :: class . java )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. flatMap Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠServer Response ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. status ( 2 0 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// TODO Ġ. created ( location Url ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. contentType ( MediaType . APPLICATION _ JSON ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. body ( Body Inser ters . from Publisher ( it , ĠProduct :: class . java )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }