{"id":140873,"date":"2026-01-26T17:43:00","date_gmt":"2026-01-26T15:43:00","guid":{"rendered":"https:\/\/www.javacodegeeks.com\/?p=140873"},"modified":"2026-01-26T15:45:00","modified_gmt":"2026-01-26T13:45:00","slug":"project-reactor-databuffer-to-mono-example","status":"publish","type":"post","link":"https:\/\/www.javacodegeeks.com\/project-reactor-databuffer-to-mono-example.html","title":{"rendered":"Project Reactor DataBuffer to Mono Example"},"content":{"rendered":"<p>In reactive Spring applications, especially those built with Spring WebFlux, data is often handled as streams rather than simple objects. When dealing with request or response bodies at a low level, you commonly encounter <code>DataBuffer<\/code> instead of a traditional <code>String<\/code> or POJO. A frequent requirement is to convert a stream of <code>DataBuffer<\/code> objects into a <code>Mono&lt;String&gt;<\/code> or <code>Mono&lt;byte[]&gt;<\/code> for logging, validation, or custom processing. Let us delve into understanding how Java Reactor converts DataBuffer to Mono, focusing on the process of transforming reactive streams of binary data buffers into Mono objects for easier handling in reactive applications.<\/p>\n<h2><a name=\"section-1\"><\/a>1. Understanding Reactor and Data Buffers<\/h2>\n<p><a href=\"https:\/\/projectreactor.io\/\" target=\"_blank\">Project Reactor<\/a> is the reactive foundation used by Spring WebFlux and provides a non-blocking programming model built around the Reactive Streams specification. At its core, Reactor introduces two main types: <code>Mono<\/code>, which represents a stream of zero or one element, and <code>Flux<\/code>, which represents a stream of zero to many elements. These types allow applications to handle asynchronous data flows efficiently while supporting backpressure, which helps prevent consumers from being overwhelmed by fast producers.<\/p>\n<p>In <a href=\"https:\/\/spring.io\/projects\/spring-webflux\" target=\"_blank\">Spring WebFlux<\/a>, HTTP request and response bodies are not treated as simple objects or strings. Instead, they are exposed as streams of data in the form of <code>Flux&lt;DataBuffer&gt;<\/code>. A <code>DataBuffer<\/code> is Spring\u2019s abstraction over raw byte buffers and is designed for high-performance, non-blocking I\/O. It typically wraps a Netty <code>ByteBuf<\/code> or a similar low-level buffer implementation, allowing data to be processed incrementally as it arrives over the network.<\/p>\n<p>Because network data may arrive in multiple chunks, a single request body is often split across several <code>DataBuffer<\/code> instances. This is why direct access to the complete payload is not immediately available. To work with the full content, these buffers usually need to be combined, read, and then released. Failing to release a <code>DataBuffer<\/code> after reading it can lead to memory leaks, especially in high-throughput reactive applications.<div style=\"display:inline-block; margin: 15px 0;\"> <div id=\"adngin-JavaCodeGeeks_incontent_video-0\" style=\"display:inline-block;\"><\/div> <\/div><\/p>\n<p>Understanding how Reactor manages streams and how <code>DataBuffer<\/code> represents binary data is essential when building custom WebFlux components, such as filters, custom codecs, or low-level request processing logic. A clear grasp of these concepts ensures that reactive pipelines remain efficient, safe, and truly non-blocking.<\/p>\n<h2><a name=\"section-2\"><\/a>2. Practical Demonstration<\/h2>\n<h3>2.1 Maven Dependencies (pom.xml)<\/h3>\n<p>The following dependency configuration sets up a minimal Spring Boot WebFlux project with all required reactive components.<\/p>\n<pre class=\"brush:xml; wrap-lines:false;\">\n&lt;!-- pom.xml --&gt;\n&lt;dependencies&gt;\n  &lt;dependency&gt;\n    &lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt;\n    &lt;artifactId&gt;spring-boot-starter-webflux&lt;\/artifactId&gt;\n  &lt;\/dependency&gt;\n&lt;\/dependencies&gt;\n<\/pre>\n<p>This dependency enables Spring WebFlux and automatically brings in Project Reactor for reactive programming, Netty as the non-blocking web server, and the <code>DataBuffer<\/code> abstractions required for handling streaming request and response bodies.<\/p>\n<h3>2.2 Java Code<\/h3>\n<p>The following example shows a complete Spring Boot application with a WebFlux controller that converts a request body from <code>Flux&lt;DataBuffer&gt;<\/code> into <code>Mono&lt;String&gt;<\/code>.<\/p>\n<pre class=\"brush:java; wrap-lines:false;\">\npackage com.example.databuffer;\n\nimport org.springframework.boot.SpringApplication;\nimport org.springframework.boot.autoconfigure.SpringBootApplication;\nimport org.springframework.core.io.buffer.DataBuffer;\nimport org.springframework.core.io.buffer.DataBufferUtils;\nimport org.springframework.web.bind.annotation.PostMapping;\nimport org.springframework.web.bind.annotation.RestController;\nimport reactor.core.publisher.Flux;\nimport reactor.core.publisher.Mono;\n\nimport java.nio.charset.StandardCharsets;\n\n@SpringBootApplication\npublic class DataBufferApplication {\n\n  public static void main(String[] args) {\n    SpringApplication.run(DataBufferApplication.class, args);\n  }\n}\n\n@RestController\nclass EchoController {\n\n  @PostMapping(\"\/echo\")\n  public Mono&lt;String&gt; echo(Flux&lt;DataBuffer&gt; body) {\n\n    return DataBufferUtils.join(body)\n        .map(dataBuffer -&gt; {\n          byte[] bytes = new byte[dataBuffer.readableByteCount()];\n          dataBuffer.read(bytes);\n          DataBufferUtils.release(dataBuffer);\n          return new String(bytes, StandardCharsets.UTF_8);\n        })\n        .map(value -&gt; \"received payload: \" + value);\n  }\n}\n<\/pre>\n<h4>2.2.1 Code Explanation<\/h4>\n<p>The application class bootstraps the Spring Boot runtime, while the controller exposes a reactive endpoint that receives the request body as a stream of <code>DataBuffer<\/code> instances. These buffers are joined into a single buffer, converted into a UTF-8 string, and explicitly released to avoid memory leaks, after which the processed value is returned as a non-blocking <code>Mono&lt;String&gt;<\/code>.<\/p>\n<h4>2.2.2 Code Run and Output<\/h4>\n<p>To run the application, start the Spring Boot app and send a POST request to the <code>\/echo<\/code> endpoint with a plain text payload. The server will process the incoming <code>DataBuffer<\/code> stream, convert it to a string, and respond with the prefixed message.<\/p>\n<pre class=\"brush:plain; wrap-lines:false;\">\n$ curl -X POST http:\/\/localhost:8080\/echo -d \"hello reactor\" -H \"Content-Type: text\/plain\"\n\nreceived payload: hello reactor\n<\/pre>\n<p>This output confirms that the <code>Flux&lt;DataBuffer&gt;<\/code> request body was successfully joined, converted to a <code>Mono&lt;String&gt;<\/code>, and returned by the reactive controller in a non-blocking, memory-safe manner.<\/p>\n<h2><a name=\"section-3\"><\/a>3. Conclusion<\/h2>\n<p>When working with Spring WebFlux at a lower level, converting a <code>DataBuffer<\/code> into a <code>Mono<\/code> is a common need. Request bodies are typically received as <code>Flux&lt;DataBuffer&gt;<\/code>, so the buffers should be joined before reading their contents, and explicitly released afterward to prevent memory leaks. It is also important to keep the entire process non-blocking and fully reactive. By following this approach, data buffers can be safely and efficiently transformed into reactive types that are simpler to handle within your application.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In reactive Spring applications, especially those built with Spring WebFlux, data is often handled as streams rather than simple objects. When dealing with request or response bodies at a low level, you commonly encounter DataBuffer instead of a traditional String or POJO. A frequent requirement is to convert a stream of DataBuffer objects into a &hellip;<\/p>\n","protected":false},"author":26931,"featured_media":114972,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[2092,1715],"class_list":["post-140873","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-enterprise-java","tag-project-reactor","tag-spring-webflux"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Project Reactor DataBuffer to Mono Example - Java Code Geeks<\/title>\n<meta name=\"description\" content=\"Java reactor convert databuffer mono: Learn how to convert DataBuffer to Mono in Java Reactor for efficient reactive data handling.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.javacodegeeks.com\/project-reactor-databuffer-to-mono-example.html\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Project Reactor DataBuffer to Mono Example - Java Code Geeks\" \/>\n<meta property=\"og:description\" content=\"Java reactor convert databuffer mono: Learn how to convert DataBuffer to Mono in Java Reactor for efficient reactive data handling.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.javacodegeeks.com\/project-reactor-databuffer-to-mono-example.html\" \/>\n<meta property=\"og:site_name\" content=\"Java Code Geeks\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/javacodegeeks\" \/>\n<meta property=\"article:published_time\" content=\"2026-01-26T15:43:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/10\/reactor-logo.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"150\" \/>\n\t<meta property=\"og:image:height\" content=\"150\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Yatin Batra\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@javacodegeeks\" \/>\n<meta name=\"twitter:site\" content=\"@javacodegeeks\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Yatin Batra\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/project-reactor-databuffer-to-mono-example.html#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/project-reactor-databuffer-to-mono-example.html\"},\"author\":{\"name\":\"Yatin Batra\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/person\\\/cda31a4c1965373fed40c8907dc09b8d\"},\"headline\":\"Project Reactor DataBuffer to Mono Example\",\"datePublished\":\"2026-01-26T15:43:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/project-reactor-databuffer-to-mono-example.html\"},\"wordCount\":630,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/project-reactor-databuffer-to-mono-example.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2022\\\/10\\\/reactor-logo.jpg\",\"keywords\":[\"Project Reactor\",\"Spring WebFlux\"],\"articleSection\":[\"Enterprise Java\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.javacodegeeks.com\\\/project-reactor-databuffer-to-mono-example.html#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/project-reactor-databuffer-to-mono-example.html\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/project-reactor-databuffer-to-mono-example.html\",\"name\":\"Project Reactor DataBuffer to Mono Example - Java Code Geeks\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/project-reactor-databuffer-to-mono-example.html#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/project-reactor-databuffer-to-mono-example.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2022\\\/10\\\/reactor-logo.jpg\",\"datePublished\":\"2026-01-26T15:43:00+00:00\",\"description\":\"Java reactor convert databuffer mono: Learn how to convert DataBuffer to Mono in Java Reactor for efficient reactive data handling.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/project-reactor-databuffer-to-mono-example.html#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.javacodegeeks.com\\\/project-reactor-databuffer-to-mono-example.html\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/project-reactor-databuffer-to-mono-example.html#primaryimage\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2022\\\/10\\\/reactor-logo.jpg\",\"contentUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2022\\\/10\\\/reactor-logo.jpg\",\"width\":150,\"height\":150},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/project-reactor-databuffer-to-mono-example.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Java\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/category\\\/java\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Enterprise Java\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/category\\\/java\\\/enterprise-java\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Project Reactor DataBuffer to Mono Example\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#website\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\",\"name\":\"Java Code Geeks\",\"description\":\"Java Developers Resource Center\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\"},\"alternateName\":\"JCG\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.javacodegeeks.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\",\"name\":\"Exelixis Media P.C.\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/exelixis-logo.png\",\"contentUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/exelixis-logo.png\",\"width\":864,\"height\":246,\"caption\":\"Exelixis Media P.C.\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/javacodegeeks\",\"https:\\\/\\\/x.com\\\/javacodegeeks\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/person\\\/cda31a4c1965373fed40c8907dc09b8d\",\"name\":\"Yatin Batra\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2022\\\/12\\\/Yatin.batra_.jpg\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2022\\\/12\\\/Yatin.batra_.jpg\",\"contentUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2022\\\/12\\\/Yatin.batra_.jpg\",\"caption\":\"Yatin Batra\"},\"description\":\"An experience full-stack engineer well versed with Core Java, Spring\\\/Springboot, MVC, Security, AOP, Frontend (Angular &amp; React), and cloud technologies (such as AWS, GCP, Jenkins, Docker, K8).\",\"sameAs\":[\"https:\\\/\\\/www.javacodegeeks.com\"],\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/author\\\/yatin-batra\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Project Reactor DataBuffer to Mono Example - Java Code Geeks","description":"Java reactor convert databuffer mono: Learn how to convert DataBuffer to Mono in Java Reactor for efficient reactive data handling.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.javacodegeeks.com\/project-reactor-databuffer-to-mono-example.html","og_locale":"en_US","og_type":"article","og_title":"Project Reactor DataBuffer to Mono Example - Java Code Geeks","og_description":"Java reactor convert databuffer mono: Learn how to convert DataBuffer to Mono in Java Reactor for efficient reactive data handling.","og_url":"https:\/\/www.javacodegeeks.com\/project-reactor-databuffer-to-mono-example.html","og_site_name":"Java Code Geeks","article_publisher":"https:\/\/www.facebook.com\/javacodegeeks","article_published_time":"2026-01-26T15:43:00+00:00","og_image":[{"width":150,"height":150,"url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/10\/reactor-logo.jpg","type":"image\/jpeg"}],"author":"Yatin Batra","twitter_card":"summary_large_image","twitter_creator":"@javacodegeeks","twitter_site":"@javacodegeeks","twitter_misc":{"Written by":"Yatin Batra","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.javacodegeeks.com\/project-reactor-databuffer-to-mono-example.html#article","isPartOf":{"@id":"https:\/\/www.javacodegeeks.com\/project-reactor-databuffer-to-mono-example.html"},"author":{"name":"Yatin Batra","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/person\/cda31a4c1965373fed40c8907dc09b8d"},"headline":"Project Reactor DataBuffer to Mono Example","datePublished":"2026-01-26T15:43:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.javacodegeeks.com\/project-reactor-databuffer-to-mono-example.html"},"wordCount":630,"commentCount":0,"publisher":{"@id":"https:\/\/www.javacodegeeks.com\/#organization"},"image":{"@id":"https:\/\/www.javacodegeeks.com\/project-reactor-databuffer-to-mono-example.html#primaryimage"},"thumbnailUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/10\/reactor-logo.jpg","keywords":["Project Reactor","Spring WebFlux"],"articleSection":["Enterprise Java"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.javacodegeeks.com\/project-reactor-databuffer-to-mono-example.html#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.javacodegeeks.com\/project-reactor-databuffer-to-mono-example.html","url":"https:\/\/www.javacodegeeks.com\/project-reactor-databuffer-to-mono-example.html","name":"Project Reactor DataBuffer to Mono Example - Java Code Geeks","isPartOf":{"@id":"https:\/\/www.javacodegeeks.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.javacodegeeks.com\/project-reactor-databuffer-to-mono-example.html#primaryimage"},"image":{"@id":"https:\/\/www.javacodegeeks.com\/project-reactor-databuffer-to-mono-example.html#primaryimage"},"thumbnailUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/10\/reactor-logo.jpg","datePublished":"2026-01-26T15:43:00+00:00","description":"Java reactor convert databuffer mono: Learn how to convert DataBuffer to Mono in Java Reactor for efficient reactive data handling.","breadcrumb":{"@id":"https:\/\/www.javacodegeeks.com\/project-reactor-databuffer-to-mono-example.html#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.javacodegeeks.com\/project-reactor-databuffer-to-mono-example.html"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.javacodegeeks.com\/project-reactor-databuffer-to-mono-example.html#primaryimage","url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/10\/reactor-logo.jpg","contentUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/10\/reactor-logo.jpg","width":150,"height":150},{"@type":"BreadcrumbList","@id":"https:\/\/www.javacodegeeks.com\/project-reactor-databuffer-to-mono-example.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.javacodegeeks.com\/"},{"@type":"ListItem","position":2,"name":"Java","item":"https:\/\/www.javacodegeeks.com\/category\/java"},{"@type":"ListItem","position":3,"name":"Enterprise Java","item":"https:\/\/www.javacodegeeks.com\/category\/java\/enterprise-java"},{"@type":"ListItem","position":4,"name":"Project Reactor DataBuffer to Mono Example"}]},{"@type":"WebSite","@id":"https:\/\/www.javacodegeeks.com\/#website","url":"https:\/\/www.javacodegeeks.com\/","name":"Java Code Geeks","description":"Java Developers Resource Center","publisher":{"@id":"https:\/\/www.javacodegeeks.com\/#organization"},"alternateName":"JCG","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.javacodegeeks.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.javacodegeeks.com\/#organization","name":"Exelixis Media P.C.","url":"https:\/\/www.javacodegeeks.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","contentUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","width":864,"height":246,"caption":"Exelixis Media P.C."},"image":{"@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/javacodegeeks","https:\/\/x.com\/javacodegeeks"]},{"@type":"Person","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/person\/cda31a4c1965373fed40c8907dc09b8d","name":"Yatin Batra","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/12\/Yatin.batra_.jpg","url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/12\/Yatin.batra_.jpg","contentUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/12\/Yatin.batra_.jpg","caption":"Yatin Batra"},"description":"An experience full-stack engineer well versed with Core Java, Spring\/Springboot, MVC, Security, AOP, Frontend (Angular &amp; React), and cloud technologies (such as AWS, GCP, Jenkins, Docker, K8).","sameAs":["https:\/\/www.javacodegeeks.com"],"url":"https:\/\/www.javacodegeeks.com\/author\/yatin-batra"}]}},"_links":{"self":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/140873","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/users\/26931"}],"replies":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/comments?post=140873"}],"version-history":[{"count":0,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/140873\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/media\/114972"}],"wp:attachment":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/media?parent=140873"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/categories?post=140873"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/tags?post=140873"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}