{"id":1997,"date":"2010-11-12T16:34:03","date_gmt":"2010-11-12T11:04:03","guid":{"rendered":"http:\/\/www.tothenew.com\/blog\/?p=1997"},"modified":"2016-12-19T14:37:14","modified_gmt":"2016-12-19T09:07:14","slug":"encode-content-to-md5-using-groovy-or-grails-with-webhook-example","status":"publish","type":"post","link":"https:\/\/www.tothenew.com\/blog\/encode-content-to-md5-using-groovy-or-grails-with-webhook-example\/","title":{"rendered":"Encode Content to MD5 Using GROOVY or GRAILS &#8211; with Webhook example"},"content":{"rendered":"<p>Recently I was working on webhooks (which are getting quite popular for sending notifications to other applications using HTTP POST methods). MD5 encoded content is heavily used in webhooks for security concern.<\/p>\n<p>My purpose of writing this blog is neither to explain MD5 nor webhooks. But just to show you  &#8211;<br \/>\n1. a quicker way in Java\/Groovy\/Grails &#8211; How to encode a String (or Content) using MD5 algorithm.<br \/>\n2. Receive Webhook request (containing MD5 encoded certificate)<\/p>\n<p>[groovy]<br \/>\n      \/\/ Below is the content (received in http post request body)<br \/>\n      String contentRecievedInRequest = &amp;quot;StringcontentneedtobeverifiedbaseduponMD5algorithm&amp;quot;<br \/>\n      \/\/ Below is your secret key &#8211; this is not in request &#8211; but something that you and trust-party know only)<br \/>\n      String yourSecretKey = &amp;quot;kfkdjfxx8r7kdf&amp;quot;<br \/>\n      \/\/ Now Mix your secret key with the content received in http post request<br \/>\n      String claimedContent = &amp;quot;StringcontentneedtobeverifiedbaseduponMD5algorithmkfkdjfxx8r7kdf&amp;quot;<br \/>\n      \/\/ following is usually a hexa value &#8211; find in the same http-request-header<br \/>\n      String certificate = &#8216;3df5786adfe37430d8a8d72cb9e7fe56c&#8217;<br \/>\n[\/groovy]<\/p>\n<p>Now, what we need to do here is &#8211; Encode claimedContent as MD5.<\/p>\n<p>1. Using Groovy\/Java<br \/>\n[groovy]<br \/>\n        MessageDigest md5 = MessageDigest.getInstance(&amp;quot;MD5&amp;quot;);<br \/>\n        md5.update(claimedContent.getBytes());<br \/>\n        BigInteger hash = new BigInteger(1, md5.digest());<br \/>\n        String hashFromContent = hash.toString(16);<br \/>\n[\/groovy]<\/p>\n<p>2. Using Grails (Single line solution)<br \/>\n[groovy]<br \/>\n        String hashFromContent = claimedContent.encodeAsMD5();<br \/>\n[\/groovy]<\/p>\n<p>Now what ? Just see if encoded content matches with the certificate received in request-header. If it matches that means it&#8217;s valid request (not hacked one).<br \/>\n[groovy]<br \/>\n        if(hashFromContent == certificate){<br \/>\n            println &amp;quot;GOOD REQUEST &#8212; Content Verified&amp;quot;<br \/>\n        }else{<br \/>\n            println &amp;quot;BAD REQUEST&amp;quot;<br \/>\n        }<br \/>\n[\/groovy]<\/p>\n<p>I hope it might help you somewhere.<br \/>\n<\/p>\n<p>Salil Kalia<br \/>\nsalil [at] intelligrape [dot] com<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Recently I was working on webhooks (which are getting quite popular for sending notifications to other applications using HTTP POST methods). MD5 encoded content is heavily used in webhooks for security concern. My purpose of writing this blog is neither to explain MD5 nor webhooks. But just to show you &#8211; 1. a quicker way [&hellip;]<\/p>\n","protected":false},"author":17,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"iawp_total_views":6,"footnotes":""},"categories":[7],"tags":[4840,9,4844,447],"class_list":["post-1997","post","type-post","status-publish","format-standard","hentry","category-grails","tag-grails","tag-groovy","tag-java","tag-webhook"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"Recently I was working on webhooks (which are getting quite popular for sending notifications to other applications using HTTP POST methods). MD5 encoded content is heavily used in webhooks for security concern. My purpose of writing this blog is neither to explain MD5 nor webhooks. But just to show you - 1. a quicker way\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Salil\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.tothenew.com\/blog\/encode-content-to-md5-using-groovy-or-grails-with-webhook-example\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"TO THE NEW BLOG\" \/>\n\t\t<meta property=\"og:type\" content=\"blog\" \/>\n\t\t<meta property=\"og:title\" content=\"Encode Content to MD5 Using GROOVY or GRAILS \u2013 with Webhook example | TO THE NEW Blog\" \/>\n\t\t<meta property=\"og:description\" content=\"Recently I was working on webhooks (which are getting quite popular for sending notifications to other applications using HTTP POST methods). MD5 encoded content is heavily used in webhooks for security concern. My purpose of writing this blog is neither to explain MD5 nor webhooks. But just to show you - 1. a quicker way\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.tothenew.com\/blog\/encode-content-to-md5-using-groovy-or-grails-with-webhook-example\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/www.tothenew.com\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/www.tothenew.com\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:site\" content=\"@tothenew\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Encode Content to MD5 Using GROOVY or GRAILS \u2013 with Webhook example | TO THE NEW Blog\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Recently I was working on webhooks (which are getting quite popular for sending notifications to other applications using HTTP POST methods). MD5 encoded content is heavily used in webhooks for security concern. My purpose of writing this blog is neither to explain MD5 nor webhooks. But just to show you - 1. a quicker way\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/www.tothenew.com\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/encode-content-to-md5-using-groovy-or-grails-with-webhook-example\\\/#article\",\"name\":\"Encode Content to MD5 Using GROOVY or GRAILS \\u2013 with Webhook example | TO THE NEW Blog\",\"headline\":\"Encode Content to MD5 Using GROOVY or GRAILS &#8211; with Webhook example\",\"author\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/salil\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#organization\"},\"datePublished\":\"2010-11-12T16:34:03+05:30\",\"dateModified\":\"2016-12-19T14:37:14+05:30\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/encode-content-to-md5-using-groovy-or-grails-with-webhook-example\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/encode-content-to-md5-using-groovy-or-grails-with-webhook-example\\\/#webpage\"},\"articleSection\":\"Grails, Grails, Groovy, Java, Webhook\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/encode-content-to-md5-using-groovy-or-grails-with-webhook-example\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.tothenew.com\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/grails\\\/#listItem\",\"name\":\"Grails\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/grails\\\/#listItem\",\"position\":2,\"name\":\"Grails\",\"item\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/grails\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/encode-content-to-md5-using-groovy-or-grails-with-webhook-example\\\/#listItem\",\"name\":\"Encode Content to MD5 Using GROOVY or GRAILS &#8211; with Webhook example\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/encode-content-to-md5-using-groovy-or-grails-with-webhook-example\\\/#listItem\",\"position\":3,\"name\":\"Encode Content to MD5 Using GROOVY or GRAILS &#8211; with Webhook example\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/grails\\\/#listItem\",\"name\":\"Grails\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#organization\",\"name\":\"TO THE NEW Blog\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/salil\\\/#author\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/salil\\\/\",\"name\":\"Salil\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/encode-content-to-md5-using-groovy-or-grails-with-webhook-example\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/97e216cba95b296d5909ad7b93d1c338d0fdad7b95410c9412b126a90f4735d9?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Salil\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/encode-content-to-md5-using-groovy-or-grails-with-webhook-example\\\/#webpage\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/encode-content-to-md5-using-groovy-or-grails-with-webhook-example\\\/\",\"name\":\"Encode Content to MD5 Using GROOVY or GRAILS \\u2013 with Webhook example | TO THE NEW Blog\",\"description\":\"Recently I was working on webhooks (which are getting quite popular for sending notifications to other applications using HTTP POST methods). MD5 encoded content is heavily used in webhooks for security concern. My purpose of writing this blog is neither to explain MD5 nor webhooks. But just to show you - 1. a quicker way\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/encode-content-to-md5-using-groovy-or-grails-with-webhook-example\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/salil\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/salil\\\/#author\"},\"datePublished\":\"2010-11-12T16:34:03+05:30\",\"dateModified\":\"2016-12-19T14:37:14+05:30\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/\",\"name\":\"TO THE NEW Blog\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Encode Content to MD5 Using GROOVY or GRAILS \u2013 with Webhook example | TO THE NEW Blog","description":"Recently I was working on webhooks (which are getting quite popular for sending notifications to other applications using HTTP POST methods). MD5 encoded content is heavily used in webhooks for security concern. My purpose of writing this blog is neither to explain MD5 nor webhooks. But just to show you - 1. a quicker way","canonical_url":"https:\/\/www.tothenew.com\/blog\/encode-content-to-md5-using-groovy-or-grails-with-webhook-example\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.tothenew.com\/blog\/encode-content-to-md5-using-groovy-or-grails-with-webhook-example\/#article","name":"Encode Content to MD5 Using GROOVY or GRAILS \u2013 with Webhook example | TO THE NEW Blog","headline":"Encode Content to MD5 Using GROOVY or GRAILS &#8211; with Webhook example","author":{"@id":"https:\/\/www.tothenew.com\/blog\/author\/salil\/#author"},"publisher":{"@id":"https:\/\/www.tothenew.com\/blog\/#organization"},"datePublished":"2010-11-12T16:34:03+05:30","dateModified":"2016-12-19T14:37:14+05:30","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/www.tothenew.com\/blog\/encode-content-to-md5-using-groovy-or-grails-with-webhook-example\/#webpage"},"isPartOf":{"@id":"https:\/\/www.tothenew.com\/blog\/encode-content-to-md5-using-groovy-or-grails-with-webhook-example\/#webpage"},"articleSection":"Grails, Grails, Groovy, Java, Webhook"},{"@type":"BreadcrumbList","@id":"https:\/\/www.tothenew.com\/blog\/encode-content-to-md5-using-groovy-or-grails-with-webhook-example\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/www.tothenew.com\/blog#listItem","position":1,"name":"Home","item":"https:\/\/www.tothenew.com\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/www.tothenew.com\/blog\/category\/grails\/#listItem","name":"Grails"}},{"@type":"ListItem","@id":"https:\/\/www.tothenew.com\/blog\/category\/grails\/#listItem","position":2,"name":"Grails","item":"https:\/\/www.tothenew.com\/blog\/category\/grails\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.tothenew.com\/blog\/encode-content-to-md5-using-groovy-or-grails-with-webhook-example\/#listItem","name":"Encode Content to MD5 Using GROOVY or GRAILS &#8211; with Webhook example"},"previousItem":{"@type":"ListItem","@id":"https:\/\/www.tothenew.com\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/www.tothenew.com\/blog\/encode-content-to-md5-using-groovy-or-grails-with-webhook-example\/#listItem","position":3,"name":"Encode Content to MD5 Using GROOVY or GRAILS &#8211; with Webhook example","previousItem":{"@type":"ListItem","@id":"https:\/\/www.tothenew.com\/blog\/category\/grails\/#listItem","name":"Grails"}}]},{"@type":"Organization","@id":"https:\/\/www.tothenew.com\/blog\/#organization","name":"TO THE NEW Blog","url":"https:\/\/www.tothenew.com\/blog\/"},{"@type":"Person","@id":"https:\/\/www.tothenew.com\/blog\/author\/salil\/#author","url":"https:\/\/www.tothenew.com\/blog\/author\/salil\/","name":"Salil","image":{"@type":"ImageObject","@id":"https:\/\/www.tothenew.com\/blog\/encode-content-to-md5-using-groovy-or-grails-with-webhook-example\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/97e216cba95b296d5909ad7b93d1c338d0fdad7b95410c9412b126a90f4735d9?s=96&d=mm&r=g","width":96,"height":96,"caption":"Salil"}},{"@type":"WebPage","@id":"https:\/\/www.tothenew.com\/blog\/encode-content-to-md5-using-groovy-or-grails-with-webhook-example\/#webpage","url":"https:\/\/www.tothenew.com\/blog\/encode-content-to-md5-using-groovy-or-grails-with-webhook-example\/","name":"Encode Content to MD5 Using GROOVY or GRAILS \u2013 with Webhook example | TO THE NEW Blog","description":"Recently I was working on webhooks (which are getting quite popular for sending notifications to other applications using HTTP POST methods). MD5 encoded content is heavily used in webhooks for security concern. My purpose of writing this blog is neither to explain MD5 nor webhooks. But just to show you - 1. a quicker way","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/www.tothenew.com\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/www.tothenew.com\/blog\/encode-content-to-md5-using-groovy-or-grails-with-webhook-example\/#breadcrumblist"},"author":{"@id":"https:\/\/www.tothenew.com\/blog\/author\/salil\/#author"},"creator":{"@id":"https:\/\/www.tothenew.com\/blog\/author\/salil\/#author"},"datePublished":"2010-11-12T16:34:03+05:30","dateModified":"2016-12-19T14:37:14+05:30"},{"@type":"WebSite","@id":"https:\/\/www.tothenew.com\/blog\/#website","url":"https:\/\/www.tothenew.com\/blog\/","name":"TO THE NEW Blog","inLanguage":"en-US","publisher":{"@id":"https:\/\/www.tothenew.com\/blog\/#organization"}}]},"og:locale":"en_US","og:site_name":"TO THE NEW BLOG","og:type":"blog","og:title":"Encode Content to MD5 Using GROOVY or GRAILS \u2013 with Webhook example | TO THE NEW Blog","og:description":"Recently I was working on webhooks (which are getting quite popular for sending notifications to other applications using HTTP POST methods). MD5 encoded content is heavily used in webhooks for security concern. My purpose of writing this blog is neither to explain MD5 nor webhooks. But just to show you - 1. a quicker way","og:url":"https:\/\/www.tothenew.com\/blog\/encode-content-to-md5-using-groovy-or-grails-with-webhook-example\/","og:image":"https:\/\/www.tothenew.com\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png","og:image:secure_url":"https:\/\/www.tothenew.com\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png","twitter:card":"summary","twitter:site":"@tothenew","twitter:title":"Encode Content to MD5 Using GROOVY or GRAILS \u2013 with Webhook example | TO THE NEW Blog","twitter:description":"Recently I was working on webhooks (which are getting quite popular for sending notifications to other applications using HTTP POST methods). MD5 encoded content is heavily used in webhooks for security concern. My purpose of writing this blog is neither to explain MD5 nor webhooks. But just to show you - 1. a quicker way","twitter:image":"https:\/\/www.tothenew.com\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png"},"aioseo_meta_data":{"post_id":"1997","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"limit_modified_date":false,"created":"2021-04-29 13:03:12","updated":"2024-02-29 08:43:20","focus_keyword":null,"additional_keywords":null,"truseo_locale":null,"ai":null,"breadcrumb_settings":null,"seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.tothenew.com\/blog\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.tothenew.com\/blog\/category\/grails\/\" title=\"Grails\">Grails<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tEncode Content to MD5 Using GROOVY or GRAILS \u2013 with Webhook example\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.tothenew.com\/blog"},{"label":"Grails","link":"https:\/\/www.tothenew.com\/blog\/category\/grails\/"},{"label":"Encode Content to MD5 Using GROOVY or GRAILS &#8211; with Webhook example","link":"https:\/\/www.tothenew.com\/blog\/encode-content-to-md5-using-groovy-or-grails-with-webhook-example\/"}],"_links":{"self":[{"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/posts\/1997","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/users\/17"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/comments?post=1997"}],"version-history":[{"count":0,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/posts\/1997\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/media?parent=1997"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/categories?post=1997"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/tags?post=1997"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}