{"id":1657,"date":"2017-05-01T07:19:32","date_gmt":"2017-05-01T07:19:32","guid":{"rendered":"https:\/\/www.enprowess.com\/blogs\/?p=1657"},"modified":"2022-05-03T14:54:43","modified_gmt":"2022-05-03T09:24:43","slug":"liferay7dxp-filter-hook","status":"publish","type":"post","link":"https:\/\/www.enprowess.com\/blogs\/liferay7dxp-filter-hook\/","title":{"rendered":"Learn Liferay7\/DXP Filter Hook in 10 Minutes"},"content":{"rendered":"<p>In my last post, I discussed about action hook. In this post, you will learn about filter hook in Liferay7\/DXP.<\/p>\n<p>Just a quick recap in case you have not read my previous post. Liferay provides mechanism to override behaviour for out-of-the-box features is called hook. Liferay supports following types of hook,<\/p>\n<ul>\n<li>Struts Action Hook<\/li>\n<li>Filter Hook<\/li>\n<li>Jsp Hook<\/li>\n<li>Language properties Hook<\/li>\n<li>Model Listener hook<\/li>\n<li>Service Wrapper Hook<\/li>\n<\/ul>\n<p>After looking at above list of filters, you may have question that where filter hook is applicable in development?<\/p>\n<p>Filter hook are used for intercepting HTTP request to execute piece of code before it reaches to execution logic. This is like HTTP Filter.<\/p>\n<p>Following are the prerequisite to start with hook development in Liferay 7\/DXP.<\/p>\n<p><strong><\/p>\n<h4>Pre-requisites:<\/h4>\n<p><\/strong><\/p>\n<ul>\n<li><a href=\"http:\/\/www.oracle.com\/technetwork\/java\/javase\/downloads\/jdk8-downloads-2133151.html\">Java 1.8<\/a><\/li>\n<li><a href=\"https:\/\/www.liferay.com\/downloads\">Liferay 7 must be installed.<\/a><\/li>\n<li><a href=\"https:\/\/web.liferay.com\/downloads\/liferay-projects\/liferay-ide\">Liferay Developer studio<\/a><\/li>\n<\/ul>\n<p>There is a difference in way to implement hook in Liferay 7\/DXP compare to prior versions as DXP does not provides option for XML configurations. Now Let\u2019s create Filter hook in liferay7\/DXP using following steps,<\/p>\n<ol>\n<li><strong><br \/>\n<h4>Create Liferay Workspace Project:<\/h4>\n<p><\/strong> To create a Liferay Workspace in IDE follow the following steps:<\/li>\n<\/ol>\n<p>Select File menu \u2192 click New \u2192 select Liferay Workspace Project. Upon creation of the workspace, the structure should look like below:<\/p>\n<p style=\"text-align: left; padding-left: 60px;\"><img loading=\"lazy\" class=\"wp-image-1658 alignnone\" src=\"https:\/\/www.enprowess.com\/blogs\/wp-content\/uploads\/2017\/05\/filterhook1.png\" alt=\"Create Liferay Workspace Project\" width=\"252\" height=\"300\" \/><\/p>\n<ol start=\"2\">\n<li><strong><br \/>\n<h4>Create Module: <\/h4>\n<p><\/strong>Next step is to create a Liferay Module Project.<\/li>\n<\/ol>\n<p>Open File menu \u2192 click New \u2192 select Liferay Module Project. Provide project name as \u2018FilterHook\u2019 and click on \u2018Next\u2019.<\/p>\n<p style=\"padding-left: 60px;\"><img loading=\"lazy\" class=\"size-full wp-image-1659 alignnone\" src=\"https:\/\/www.enprowess.com\/blogs\/wp-content\/uploads\/2017\/05\/filterhook2.png\" alt=\"Create Module\" width=\"547\" height=\"415\" \/><\/p>\n<ol start=\"3\">\n<li><strong><br \/>\n<h4>Configure hook properties: <\/h4>\n<p><\/strong>Provide component name and package path for the filter class and click on Finish.<\/li>\n<\/ol>\n<p style=\"padding-left: 90px;\"><img loading=\"lazy\" class=\"size-full wp-image-1660 alignnone\" src=\"https:\/\/www.enprowess.com\/blogs\/wp-content\/uploads\/2017\/05\/filterhook3.png\" alt=\"Configure hook properties\" width=\"546\" height=\"414\" \/><\/p>\n<p>Now class FilterHook with package com.enprowess.filterclass is created in workspace module as follow,<\/p>\n<p style=\"padding-left: 60px;\"><img loading=\"lazy\" class=\"size-full wp-image-1661 alignnone\" src=\"https:\/\/www.enprowess.com\/blogs\/wp-content\/uploads\/2017\/05\/filterhook4.png\" alt=\"FilterHook with package\" width=\"368\" height=\"271\" \/><\/p>\n<ol start=\"4\">\n<li><strong><br \/>\n<h4>Implement Component: <\/h4>\n<p><\/strong>In class, you need to add following property inside @Component.<\/li>\n<\/ol>\n<p style=\"padding-left: 30px;\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-1662\" src=\"https:\/\/www.enprowess.com\/blogs\/wp-content\/uploads\/2017\/05\/filterhook6.png\" alt=\"Implement Component\" width=\"1060\" height=\"79\" \/><\/p>\n<ol start=\"5\">\n<li><strong><br \/>\n<h4>Implement code: <\/h4>\n<p><\/strong>Please note that your filter class will extend BaseFilter class. You will need to override processFilter() method which will take parameters as HttpServletRequest request, HttpServletResponse response, FilterChain filterChain.Please see following piece of code.<\/li>\n<\/ol>\n<p style=\"padding-left: 30px;\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-1663\" src=\"https:\/\/www.enprowess.com\/blogs\/wp-content\/uploads\/2017\/05\/filterhook5.png\" alt=\"Implement code\" width=\"1059\" height=\"406\" \/><\/p>\n<p>Now, you have filter hook ready to deploy in Liferay.<\/p>\n<p>We at EnProwess believes in sharing knowledge to help open source community to grow. In my next post, I will talk about JSP hook. Till then happy learning!<\/p>\n<p><\/p>\n<p>Blog by,<br \/>\n<br \/>\nMaitrik Panchal.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In my last post, I discussed about action hook. In this post, you will learn about filter hook in Liferay7\/DXP. Just a quick recap in case you have not read my previous post. Liferay provides mechanism to override behaviour for out-of-the-box features is called hook. Liferay supports following types of hook, Struts Action Hook Filter&hellip; <a class=\"more-link\" href=\"https:\/\/www.enprowess.com\/blogs\/liferay7dxp-filter-hook\/\">Continue reading <span class=\"screen-reader-text\">Learn Liferay7\/DXP Filter Hook in 10 Minutes<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":1673,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[8,46],"tags":[41,40,39,42,43,19,10],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v17.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Learn Liferay7\/DXP Filter Hook in 10 Minutes - EnProwess Blog<\/title>\n<meta name=\"description\" content=\"Do you want to learn hook development in Liferay 7\/DXP? Learn Filter hook in Liferay 7\/DXP in 10 minute.\" \/>\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.enprowess.com\/blogs\/liferay7dxp-filter-hook\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Learn Liferay 7\/DXP Filter Hook in 10 minutes\" \/>\n<meta property=\"og:description\" content=\"Do you want to learn hook development in Liferay 7\/DXP? Learn Filter hook in Liferay 7\/DXP in 10 minute.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.enprowess.com\/blogs\/liferay7dxp-filter-hook\/\" \/>\n<meta property=\"og:site_name\" content=\"EnProwess Blog\" \/>\n<meta property=\"article:published_time\" content=\"2017-05-01T07:19:32+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-05-03T09:24:43+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.enprowess.com\/blogs\/wp-content\/uploads\/2017\/05\/Filter.jpg\" \/>\n<meta name=\"twitter:card\" content=\"summary\" \/>\n<meta name=\"twitter:title\" content=\"Learn Liferay 7\/DXP Filter Hook in 10 minutes\" \/>\n<meta name=\"twitter:description\" content=\"Do you want to learn hook development in Liferay 7\/DXP? Learn Filter hook in Liferay 7\/DXP in 10 minute.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/www.enprowess.com\/blogs\/wp-content\/uploads\/2017\/05\/Filter.jpg\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.enprowess.com\/blogs\/#organization\",\"name\":\"EnProwess\",\"url\":\"https:\/\/www.enprowess.com\/blogs\/\",\"sameAs\":[],\"logo\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/www.enprowess.com\/blogs\/#logo\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/www.enprowess.com\/blogs\/wp-content\/uploads\/2021\/07\/enprowess_logo.jpg\",\"contentUrl\":\"https:\/\/www.enprowess.com\/blogs\/wp-content\/uploads\/2021\/07\/enprowess_logo.jpg\",\"width\":1057,\"height\":697,\"caption\":\"EnProwess\"},\"image\":{\"@id\":\"https:\/\/www.enprowess.com\/blogs\/#logo\"}},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.enprowess.com\/blogs\/#website\",\"url\":\"https:\/\/www.enprowess.com\/blogs\/\",\"name\":\"EnProwess Blog\",\"description\":\"Your Enterprise solution partner\",\"publisher\":{\"@id\":\"https:\/\/www.enprowess.com\/blogs\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.enprowess.com\/blogs\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/www.enprowess.com\/blogs\/liferay7dxp-filter-hook\/#primaryimage\",\"inLanguage\":\"en-US\",\"url\":\"\",\"contentUrl\":\"\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.enprowess.com\/blogs\/liferay7dxp-filter-hook\/#webpage\",\"url\":\"https:\/\/www.enprowess.com\/blogs\/liferay7dxp-filter-hook\/\",\"name\":\"Learn Liferay7\/DXP Filter Hook in 10 Minutes - EnProwess Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.enprowess.com\/blogs\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.enprowess.com\/blogs\/liferay7dxp-filter-hook\/#primaryimage\"},\"datePublished\":\"2017-05-01T07:19:32+00:00\",\"dateModified\":\"2022-05-03T09:24:43+00:00\",\"description\":\"Do you want to learn hook development in Liferay 7\/DXP? Learn Filter hook in Liferay 7\/DXP in 10 minute.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.enprowess.com\/blogs\/liferay7dxp-filter-hook\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.enprowess.com\/blogs\/liferay7dxp-filter-hook\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.enprowess.com\/blogs\/liferay7dxp-filter-hook\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Blog\",\"item\":\"https:\/\/www.enprowess.com\/blogs\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Liferay\",\"item\":\"https:\/\/www.enprowess.com\/blogs\/category\/liferay\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Learn Liferay7\/DXP Filter Hook in 10 Minutes\"}]},{\"@type\":\"TechArticle\",\"@id\":\"https:\/\/www.enprowess.com\/blogs\/liferay7dxp-filter-hook\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.enprowess.com\/blogs\/liferay7dxp-filter-hook\/#webpage\"},\"author\":{\"@id\":\"https:\/\/www.enprowess.com\/blogs\/#\/schema\/person\/cb84840e7dba202419065ea1c9fe7f11\"},\"headline\":\"Learn Liferay7\/DXP Filter Hook in 10 Minutes\",\"datePublished\":\"2017-05-01T07:19:32+00:00\",\"dateModified\":\"2022-05-03T09:24:43+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.enprowess.com\/blogs\/liferay7dxp-filter-hook\/#webpage\"},\"wordCount\":362,\"commentCount\":4,\"publisher\":{\"@id\":\"https:\/\/www.enprowess.com\/blogs\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.enprowess.com\/blogs\/liferay7dxp-filter-hook\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.enprowess.com\/blogs\/wp-content\/uploads\/2017\/05\/Filter.jpg\",\"keywords\":[\"DXP\",\"Filter hook\",\"Hook\",\"Hook Development\",\"Liferay Development\",\"Liferay DXP\",\"liferay7\"],\"articleSection\":[\"Liferay\",\"Liferay DXP\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.enprowess.com\/blogs\/liferay7dxp-filter-hook\/#respond\"]}]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.enprowess.com\/blogs\/#\/schema\/person\/cb84840e7dba202419065ea1c9fe7f11\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/www.enprowess.com\/blogs\/#personlogo\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/b43445b202a083f6e4a2f2e7d6f43d62?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/b43445b202a083f6e4a2f2e7d6f43d62?s=96&d=mm&r=g\",\"caption\":\"admin\"},\"url\":\"https:\/\/www.enprowess.com\/blogs\/author\/admin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Learn Liferay7\/DXP Filter Hook in 10 Minutes - EnProwess Blog","description":"Do you want to learn hook development in Liferay 7\/DXP? Learn Filter hook in Liferay 7\/DXP in 10 minute.","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.enprowess.com\/blogs\/liferay7dxp-filter-hook\/","og_locale":"en_US","og_type":"article","og_title":"Learn Liferay 7\/DXP Filter Hook in 10 minutes","og_description":"Do you want to learn hook development in Liferay 7\/DXP? Learn Filter hook in Liferay 7\/DXP in 10 minute.","og_url":"https:\/\/www.enprowess.com\/blogs\/liferay7dxp-filter-hook\/","og_site_name":"EnProwess Blog","article_published_time":"2017-05-01T07:19:32+00:00","article_modified_time":"2022-05-03T09:24:43+00:00","og_image":[{"url":"https:\/\/www.enprowess.com\/blogs\/wp-content\/uploads\/2017\/05\/Filter.jpg"}],"twitter_card":"summary","twitter_title":"Learn Liferay 7\/DXP Filter Hook in 10 minutes","twitter_description":"Do you want to learn hook development in Liferay 7\/DXP? Learn Filter hook in Liferay 7\/DXP in 10 minute.","twitter_image":"https:\/\/www.enprowess.com\/blogs\/wp-content\/uploads\/2017\/05\/Filter.jpg","twitter_misc":{"Written by":"admin","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Organization","@id":"https:\/\/www.enprowess.com\/blogs\/#organization","name":"EnProwess","url":"https:\/\/www.enprowess.com\/blogs\/","sameAs":[],"logo":{"@type":"ImageObject","@id":"https:\/\/www.enprowess.com\/blogs\/#logo","inLanguage":"en-US","url":"https:\/\/www.enprowess.com\/blogs\/wp-content\/uploads\/2021\/07\/enprowess_logo.jpg","contentUrl":"https:\/\/www.enprowess.com\/blogs\/wp-content\/uploads\/2021\/07\/enprowess_logo.jpg","width":1057,"height":697,"caption":"EnProwess"},"image":{"@id":"https:\/\/www.enprowess.com\/blogs\/#logo"}},{"@type":"WebSite","@id":"https:\/\/www.enprowess.com\/blogs\/#website","url":"https:\/\/www.enprowess.com\/blogs\/","name":"EnProwess Blog","description":"Your Enterprise solution partner","publisher":{"@id":"https:\/\/www.enprowess.com\/blogs\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.enprowess.com\/blogs\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"ImageObject","@id":"https:\/\/www.enprowess.com\/blogs\/liferay7dxp-filter-hook\/#primaryimage","inLanguage":"en-US","url":"","contentUrl":""},{"@type":"WebPage","@id":"https:\/\/www.enprowess.com\/blogs\/liferay7dxp-filter-hook\/#webpage","url":"https:\/\/www.enprowess.com\/blogs\/liferay7dxp-filter-hook\/","name":"Learn Liferay7\/DXP Filter Hook in 10 Minutes - EnProwess Blog","isPartOf":{"@id":"https:\/\/www.enprowess.com\/blogs\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.enprowess.com\/blogs\/liferay7dxp-filter-hook\/#primaryimage"},"datePublished":"2017-05-01T07:19:32+00:00","dateModified":"2022-05-03T09:24:43+00:00","description":"Do you want to learn hook development in Liferay 7\/DXP? Learn Filter hook in Liferay 7\/DXP in 10 minute.","breadcrumb":{"@id":"https:\/\/www.enprowess.com\/blogs\/liferay7dxp-filter-hook\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.enprowess.com\/blogs\/liferay7dxp-filter-hook\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.enprowess.com\/blogs\/liferay7dxp-filter-hook\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog","item":"https:\/\/www.enprowess.com\/blogs\/"},{"@type":"ListItem","position":2,"name":"Liferay","item":"https:\/\/www.enprowess.com\/blogs\/category\/liferay\/"},{"@type":"ListItem","position":3,"name":"Learn Liferay7\/DXP Filter Hook in 10 Minutes"}]},{"@type":"TechArticle","@id":"https:\/\/www.enprowess.com\/blogs\/liferay7dxp-filter-hook\/#article","isPartOf":{"@id":"https:\/\/www.enprowess.com\/blogs\/liferay7dxp-filter-hook\/#webpage"},"author":{"@id":"https:\/\/www.enprowess.com\/blogs\/#\/schema\/person\/cb84840e7dba202419065ea1c9fe7f11"},"headline":"Learn Liferay7\/DXP Filter Hook in 10 Minutes","datePublished":"2017-05-01T07:19:32+00:00","dateModified":"2022-05-03T09:24:43+00:00","mainEntityOfPage":{"@id":"https:\/\/www.enprowess.com\/blogs\/liferay7dxp-filter-hook\/#webpage"},"wordCount":362,"commentCount":4,"publisher":{"@id":"https:\/\/www.enprowess.com\/blogs\/#organization"},"image":{"@id":"https:\/\/www.enprowess.com\/blogs\/liferay7dxp-filter-hook\/#primaryimage"},"thumbnailUrl":"https:\/\/www.enprowess.com\/blogs\/wp-content\/uploads\/2017\/05\/Filter.jpg","keywords":["DXP","Filter hook","Hook","Hook Development","Liferay Development","Liferay DXP","liferay7"],"articleSection":["Liferay","Liferay DXP"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.enprowess.com\/blogs\/liferay7dxp-filter-hook\/#respond"]}]},{"@type":"Person","@id":"https:\/\/www.enprowess.com\/blogs\/#\/schema\/person\/cb84840e7dba202419065ea1c9fe7f11","name":"admin","image":{"@type":"ImageObject","@id":"https:\/\/www.enprowess.com\/blogs\/#personlogo","inLanguage":"en-US","url":"https:\/\/secure.gravatar.com\/avatar\/b43445b202a083f6e4a2f2e7d6f43d62?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/b43445b202a083f6e4a2f2e7d6f43d62?s=96&d=mm&r=g","caption":"admin"},"url":"https:\/\/www.enprowess.com\/blogs\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/www.enprowess.com\/blogs\/wp-json\/wp\/v2\/posts\/1657"}],"collection":[{"href":"https:\/\/www.enprowess.com\/blogs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.enprowess.com\/blogs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.enprowess.com\/blogs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.enprowess.com\/blogs\/wp-json\/wp\/v2\/comments?post=1657"}],"version-history":[{"count":16,"href":"https:\/\/www.enprowess.com\/blogs\/wp-json\/wp\/v2\/posts\/1657\/revisions"}],"predecessor-version":[{"id":3233,"href":"https:\/\/www.enprowess.com\/blogs\/wp-json\/wp\/v2\/posts\/1657\/revisions\/3233"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.enprowess.com\/blogs\/wp-json\/wp\/v2\/media\/1673"}],"wp:attachment":[{"href":"https:\/\/www.enprowess.com\/blogs\/wp-json\/wp\/v2\/media?parent=1657"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.enprowess.com\/blogs\/wp-json\/wp\/v2\/categories?post=1657"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.enprowess.com\/blogs\/wp-json\/wp\/v2\/tags?post=1657"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}