{"id":8087,"date":"2024-03-21T12:07:42","date_gmt":"2024-03-21T06:37:42","guid":{"rendered":"https:\/\/innovationm.co\/?p=8087"},"modified":"2024-03-21T12:07:42","modified_gmt":"2024-03-21T06:37:42","slug":"building-flexible-database-queries-in-spring-boot-a-criteria-builder-guide","status":"publish","type":"post","link":"https:\/\/www.innovationm.com\/blog\/building-flexible-database-queries-in-spring-boot-a-criteria-builder-guide\/","title":{"rendered":"Building Flexible Database Queries in Spring Boot: A Criteria Builder Guide"},"content":{"rendered":"<p style=\"text-align: justify;\"><strong>Introduction:<\/strong><br \/>\nIn Spring Boot applications, interacting with databases is a fundamental task. Whether you&#8217;re fetching data, updating records, or performing complex queries, efficient database operations are crucial for application performance. One powerful tool at your disposal for constructing dynamic queries is the Criteria API, which allows you to build queries programmatically and dynamically based on various criteria.<\/p>\n<p>In this blog post, we&#8217;ll explore the Criteria Builder in Spring Boot, from its basic usage to more advanced scenarios, accompanied by practical examples.<\/p>\n<p><strong>Understanding Criteria Builder:<br \/>\n<\/strong>The Criteria API in Spring Boot provides a set of classes and methods to build dynamic queries directly in Java code. It&#8217;s particularly useful when you need to construct queries based on dynamic parameters or conditions, rather than writing static SQL queries.<\/p>\n<p><strong>Basic Usage:<\/strong><br \/>\nLet&#8217;s dive into a simple example to understand how Criteria Builder works in Spring Boot:<\/p>\n<p><strong>1. Setup Entity Class:<\/strong><br \/>\nAssume we have an entity class named Product representing products in our database.<\/p>\n<pre>@Entity\r\npublic class Product {\r\n@Id\r\n@GeneratedValue(strategy = GenerationType.IDENTITY)\r\nprivate Long id;\r\nprivate String name;\r\nprivate double price;\r\n\/\/ other fields, getters, and setters\r\n}<\/pre>\n<p><strong>2. Create a Repository:<\/strong><br \/>\nWe&#8217;ll need a repository interface extending JpaRepository to perform database operations.<\/p>\n<pre style=\"text-align: justify;\">public interface ProductRepository extends JpaRepository&lt;Product, Long&gt; {\r\n}<\/pre>\n<p><strong>3. Implementing a Basic Query:<\/strong><br \/>\nNow, let&#8217;s say we want to fetch all products with a price greater than a certain amount. We can achieve this using Criteria Builder:<\/p>\n<pre>import javax.persistence.criteria.CriteriaBuilder;\r\nimport javax.persistence.criteria.CriteriaQuery;\r\nimport javax.persistence.criteria.Predicate;\r\nimport javax.persistence.criteria.Root;\r\npublic class ProductService {\r\n@Autowired\r\nprivate ProductRepository productRepository;\r\npublic List&lt;Product&gt; findProductsByPriceGreaterThan(double minPrice) {\r\nCriteriaBuilder builder = entityManager.getCriteriaBuilder();\r\nCriteriaQuery&lt;Product&gt; query = builder.createQuery(Product.class);\r\nRoot&lt;Product&gt; root = query.from(Product.class);\r\nPredicate condition = builder.greaterThan(root.get(\"price\"), minPrice);\r\nquery.where(condition);\r\nreturn entityManager.createQuery(query).getResultList();\r\n}\r\n}<\/pre>\n<p>Here, we use CriteriaBuilder to construct a query for fetching products where the price is greater than a specified minimum price.<\/p>\n<p><strong>Medium-Level Usage:<\/strong><br \/>\nLet&#8217;s move on to a slightly more complex scenario where we want to fetch products based on multiple criteria.|<\/p>\n<p><strong>1. Adding Multiple Conditions:<\/strong><br \/>\nSuppose we want to find products with a price between a certain range and belonging to a specific category.<\/p>\n<p>This method demonstrates how to construct a query with multiple conditions using Criteria Builder.<\/p>\n<pre>public List&lt;Product&gt; findProductsByCriteria(double minPrice, double maxPrice, String category) {\r\nCriteriaBuilder builder = entityManager.getCriteriaBuilder();\r\nCriteriaQuery&lt;Product&gt; query = builder.createQuery(Product.class);\r\nRoot&lt;Product&gt; root = query.from(Product.class);\r\nPredicate priceCondition = builder.between(root.get(\"price\"), minPrice, maxPrice);\r\nPredicate categoryCondition = builder.equal(root.get(\"category\"), category);\r\nquery.where(builder.and(priceCondition, categoryCondition));\r\nreturn entityManager.createQuery(query).getResultList();\r\n}<\/pre>\n<p>This method demonstrates how to construct a query with multiple conditions using Criteria Builder.<\/p>\n<p><strong>Conclusion:<\/strong><br \/>\nIn this blog post, we&#8217;ve covered the basics of using Criteria Builder in Spring Boot for dynamic query construction. From simple queries to more complex ones involving multiple criteria, Criteria Builder provides a powerful and flexible way to interact with databases directly from your Java code. By leveraging Criteria Builder, you can write clean, concise, and maintainable code while effectively querying your database in Spring Boot applications. As you continue to explore and work with Spring Boot, mastering Criteria Builder will undoubtedly enhance your capabilities in database interaction.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction: In Spring Boot applications, interacting with databases is a fundamental task. Whether you&#8217;re fetching data, updating records, or performing complex queries, efficient database operations are crucial for application performance. One powerful tool at your disposal for constructing dynamic queries is the Criteria API, which allows you to build queries programmatically and dynamically based on [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":8089,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[865,864,256,951,441],"tags":[149,965,952,775,279],"class_list":["post-8087","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-data-engineering","category-data-science","category-java-application","category-programming-languages","category-spring-boot","tag-database","tag-java-application","tag-programming-languages","tag-software-development-life-cycle","tag-spring-boot"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Building Flexible Database Queries in Spring Boot: A Criteria Builder Guide - InnovationM - Blog<\/title>\n<meta name=\"description\" content=\"Learn how to effectively construct dynamic queries in Spring Boot applications using the Criteria Builder. From basic usage to advanced scenarios, discover how Criteria Builder empowers you to write clean, efficient database operations directly in Java code.\" \/>\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.innovationm.com\/blog\/building-flexible-database-queries-in-spring-boot-a-criteria-builder-guide\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Building Flexible Database Queries in Spring Boot: A Criteria Builder Guide - InnovationM - Blog\" \/>\n<meta property=\"og:description\" content=\"Learn how to effectively construct dynamic queries in Spring Boot applications using the Criteria Builder. From basic usage to advanced scenarios, discover how Criteria Builder empowers you to write clean, efficient database operations directly in Java code.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.innovationm.com\/blog\/building-flexible-database-queries-in-spring-boot-a-criteria-builder-guide\/\" \/>\n<meta property=\"og:site_name\" content=\"InnovationM - Blog\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-21T06:37:42+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2024\/03\/White-Modern-Isometric-Candidate-Experience-Blog-Banner.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2240\" \/>\n\t<meta property=\"og:image:height\" content=\"1260\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"InnovationM Admin\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"InnovationM Admin\" \/>\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.innovationm.com\\\/blog\\\/building-flexible-database-queries-in-spring-boot-a-criteria-builder-guide\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/building-flexible-database-queries-in-spring-boot-a-criteria-builder-guide\\\/\"},\"author\":{\"name\":\"InnovationM Admin\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/#\\\/schema\\\/person\\\/a831bf4602d69d1fa452e3de0c8862ed\"},\"headline\":\"Building Flexible Database Queries in Spring Boot: A Criteria Builder Guide\",\"datePublished\":\"2024-03-21T06:37:42+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/building-flexible-database-queries-in-spring-boot-a-criteria-builder-guide\\\/\"},\"wordCount\":401,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/building-flexible-database-queries-in-spring-boot-a-criteria-builder-guide\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/03\\\/White-Modern-Isometric-Candidate-Experience-Blog-Banner.png\",\"keywords\":[\"Database\",\"Java Application\",\"Programming Languages\",\"software development life cycle\",\"Spring Boot\"],\"articleSection\":[\"Data Engineering\",\"Data Science\",\"Java Application\",\"Programming Languages\",\"Spring Boot\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/building-flexible-database-queries-in-spring-boot-a-criteria-builder-guide\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/building-flexible-database-queries-in-spring-boot-a-criteria-builder-guide\\\/\",\"url\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/building-flexible-database-queries-in-spring-boot-a-criteria-builder-guide\\\/\",\"name\":\"Building Flexible Database Queries in Spring Boot: A Criteria Builder Guide - InnovationM - Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/building-flexible-database-queries-in-spring-boot-a-criteria-builder-guide\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/building-flexible-database-queries-in-spring-boot-a-criteria-builder-guide\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/03\\\/White-Modern-Isometric-Candidate-Experience-Blog-Banner.png\",\"datePublished\":\"2024-03-21T06:37:42+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/#\\\/schema\\\/person\\\/a831bf4602d69d1fa452e3de0c8862ed\"},\"description\":\"Learn how to effectively construct dynamic queries in Spring Boot applications using the Criteria Builder. From basic usage to advanced scenarios, discover how Criteria Builder empowers you to write clean, efficient database operations directly in Java code.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/building-flexible-database-queries-in-spring-boot-a-criteria-builder-guide\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/building-flexible-database-queries-in-spring-boot-a-criteria-builder-guide\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/building-flexible-database-queries-in-spring-boot-a-criteria-builder-guide\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/03\\\/White-Modern-Isometric-Candidate-Experience-Blog-Banner.png\",\"contentUrl\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/03\\\/White-Modern-Isometric-Candidate-Experience-Blog-Banner.png\",\"width\":2240,\"height\":1260,\"caption\":\"Building Flexible Database Queries in Spring Boot: A Criteria Builder Guide\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/building-flexible-database-queries-in-spring-boot-a-criteria-builder-guide\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Building Flexible Database Queries in Spring Boot: A Criteria Builder Guide\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/\",\"name\":\"InnovationM - Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/#\\\/schema\\\/person\\\/a831bf4602d69d1fa452e3de0c8862ed\",\"name\":\"InnovationM Admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5c99d9eece9dfbc82297cf34ddd58e9fe05bb52fe66c8f6bf6c0a45bfb6d7629?s=96&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5c99d9eece9dfbc82297cf34ddd58e9fe05bb52fe66c8f6bf6c0a45bfb6d7629?s=96&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5c99d9eece9dfbc82297cf34ddd58e9fe05bb52fe66c8f6bf6c0a45bfb6d7629?s=96&r=g\",\"caption\":\"InnovationM Admin\"},\"sameAs\":[\"http:\\\/\\\/www.innovationm.com\\\/\"],\"url\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/author\\\/innovationmadmin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Building Flexible Database Queries in Spring Boot: A Criteria Builder Guide - InnovationM - Blog","description":"Learn how to effectively construct dynamic queries in Spring Boot applications using the Criteria Builder. From basic usage to advanced scenarios, discover how Criteria Builder empowers you to write clean, efficient database operations directly in Java code.","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.innovationm.com\/blog\/building-flexible-database-queries-in-spring-boot-a-criteria-builder-guide\/","og_locale":"en_US","og_type":"article","og_title":"Building Flexible Database Queries in Spring Boot: A Criteria Builder Guide - InnovationM - Blog","og_description":"Learn how to effectively construct dynamic queries in Spring Boot applications using the Criteria Builder. From basic usage to advanced scenarios, discover how Criteria Builder empowers you to write clean, efficient database operations directly in Java code.","og_url":"https:\/\/www.innovationm.com\/blog\/building-flexible-database-queries-in-spring-boot-a-criteria-builder-guide\/","og_site_name":"InnovationM - Blog","article_published_time":"2024-03-21T06:37:42+00:00","og_image":[{"width":2240,"height":1260,"url":"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2024\/03\/White-Modern-Isometric-Candidate-Experience-Blog-Banner.png","type":"image\/png"}],"author":"InnovationM Admin","twitter_misc":{"Written by":"InnovationM Admin","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.innovationm.com\/blog\/building-flexible-database-queries-in-spring-boot-a-criteria-builder-guide\/#article","isPartOf":{"@id":"https:\/\/www.innovationm.com\/blog\/building-flexible-database-queries-in-spring-boot-a-criteria-builder-guide\/"},"author":{"name":"InnovationM Admin","@id":"https:\/\/www.innovationm.com\/blog\/#\/schema\/person\/a831bf4602d69d1fa452e3de0c8862ed"},"headline":"Building Flexible Database Queries in Spring Boot: A Criteria Builder Guide","datePublished":"2024-03-21T06:37:42+00:00","mainEntityOfPage":{"@id":"https:\/\/www.innovationm.com\/blog\/building-flexible-database-queries-in-spring-boot-a-criteria-builder-guide\/"},"wordCount":401,"commentCount":0,"image":{"@id":"https:\/\/www.innovationm.com\/blog\/building-flexible-database-queries-in-spring-boot-a-criteria-builder-guide\/#primaryimage"},"thumbnailUrl":"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2024\/03\/White-Modern-Isometric-Candidate-Experience-Blog-Banner.png","keywords":["Database","Java Application","Programming Languages","software development life cycle","Spring Boot"],"articleSection":["Data Engineering","Data Science","Java Application","Programming Languages","Spring Boot"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.innovationm.com\/blog\/building-flexible-database-queries-in-spring-boot-a-criteria-builder-guide\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.innovationm.com\/blog\/building-flexible-database-queries-in-spring-boot-a-criteria-builder-guide\/","url":"https:\/\/www.innovationm.com\/blog\/building-flexible-database-queries-in-spring-boot-a-criteria-builder-guide\/","name":"Building Flexible Database Queries in Spring Boot: A Criteria Builder Guide - InnovationM - Blog","isPartOf":{"@id":"https:\/\/www.innovationm.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.innovationm.com\/blog\/building-flexible-database-queries-in-spring-boot-a-criteria-builder-guide\/#primaryimage"},"image":{"@id":"https:\/\/www.innovationm.com\/blog\/building-flexible-database-queries-in-spring-boot-a-criteria-builder-guide\/#primaryimage"},"thumbnailUrl":"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2024\/03\/White-Modern-Isometric-Candidate-Experience-Blog-Banner.png","datePublished":"2024-03-21T06:37:42+00:00","author":{"@id":"https:\/\/www.innovationm.com\/blog\/#\/schema\/person\/a831bf4602d69d1fa452e3de0c8862ed"},"description":"Learn how to effectively construct dynamic queries in Spring Boot applications using the Criteria Builder. From basic usage to advanced scenarios, discover how Criteria Builder empowers you to write clean, efficient database operations directly in Java code.","breadcrumb":{"@id":"https:\/\/www.innovationm.com\/blog\/building-flexible-database-queries-in-spring-boot-a-criteria-builder-guide\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.innovationm.com\/blog\/building-flexible-database-queries-in-spring-boot-a-criteria-builder-guide\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.innovationm.com\/blog\/building-flexible-database-queries-in-spring-boot-a-criteria-builder-guide\/#primaryimage","url":"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2024\/03\/White-Modern-Isometric-Candidate-Experience-Blog-Banner.png","contentUrl":"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2024\/03\/White-Modern-Isometric-Candidate-Experience-Blog-Banner.png","width":2240,"height":1260,"caption":"Building Flexible Database Queries in Spring Boot: A Criteria Builder Guide"},{"@type":"BreadcrumbList","@id":"https:\/\/www.innovationm.com\/blog\/building-flexible-database-queries-in-spring-boot-a-criteria-builder-guide\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.innovationm.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Building Flexible Database Queries in Spring Boot: A Criteria Builder Guide"}]},{"@type":"WebSite","@id":"https:\/\/www.innovationm.com\/blog\/#website","url":"https:\/\/www.innovationm.com\/blog\/","name":"InnovationM - Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.innovationm.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.innovationm.com\/blog\/#\/schema\/person\/a831bf4602d69d1fa452e3de0c8862ed","name":"InnovationM Admin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/5c99d9eece9dfbc82297cf34ddd58e9fe05bb52fe66c8f6bf6c0a45bfb6d7629?s=96&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/5c99d9eece9dfbc82297cf34ddd58e9fe05bb52fe66c8f6bf6c0a45bfb6d7629?s=96&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5c99d9eece9dfbc82297cf34ddd58e9fe05bb52fe66c8f6bf6c0a45bfb6d7629?s=96&r=g","caption":"InnovationM Admin"},"sameAs":["http:\/\/www.innovationm.com\/"],"url":"https:\/\/www.innovationm.com\/blog\/author\/innovationmadmin\/"}]}},"_links":{"self":[{"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/posts\/8087","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/comments?post=8087"}],"version-history":[{"count":0,"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/posts\/8087\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/media\/8089"}],"wp:attachment":[{"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/media?parent=8087"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/categories?post=8087"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/tags?post=8087"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}