{"id":219050,"date":"2020-01-02T14:53:21","date_gmt":"2020-01-02T14:53:21","guid":{"rendered":"https:\/\/webkul.com\/blog\/?p=219050"},"modified":"2020-01-29T11:26:33","modified_gmt":"2020-01-29T11:26:33","slug":"gatling-simulation-structure","status":"publish","type":"post","link":"https:\/\/webkul.com\/blog\/gatling-simulation-structure\/","title":{"rendered":"Gatling Simulation Structure"},"content":{"rendered":"\n<p>Gatling is a Scala based load testing tool. All the scripts which are written &amp; executed via this testing tool, are known as Gatling Simulations. Gatling Simulations are written in Scala language, but there is no hassles of learning the Scala language in deep as Gatling comes up with the Scala Recorder which records all the different scenarios &amp; responsible for generating those scenarios into Gatling Simulation.<\/p>\n\n\n\n<p>Scala Recorder generates the Gatling Simulation &amp; stores at the path&#8211; <strong>\/gatling-charts-highcharts-bundle-3.1.2\/user-files\/simulations<\/strong> with .scala extension under the Gatling package. After the execution of the Gatling Simulation, it generates the .class file under path&#8211; <strong>\/gatling-charts-highcharts-bundle-3.1.2\/target\/test-classes<\/strong> which can be run at any Operating System.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Gatling Simulation Structure:<\/h4>\n\n\n\n<p>Gatling Simulation contains package name, imports the different class files &amp; extends the Gatling Class &#8220;<strong>Simulation&#8221;<\/strong>, contains the header information, scenarios in the form of series of requests &amp; load test simulation setup. <\/p>\n\n\n\n<p>A Gatling Simulation example is shown below:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\">package basicgatling\nimport scala.concurrent.duration._\nimport io.gatling.core.Predef._\nimport io.gatling.http.Predef._\nimport io.gatling.jdbc.Predef._\n\nclass scriptbasic extends Simulation {\n\tval httpProtocol = http\n\t\t.baseUrl(&quot;http:\/\/vrindasharma.com&quot;)\n\t\t.inferHtmlResources()\n\t\t.acceptHeader(&quot;text\/html,application\/xhtml+xml,application\/xml;q=0.9,*\/*;q=0.8&quot;)\n\t\t.acceptEncodingHeader(&quot;gzip, deflate&quot;)\n\t\t.acceptLanguageHeader(&quot;en-US,en;q=0.5&quot;)\n\t\t.userAgentHeader(&quot;Mozilla\/5.0 (X11; Ubuntu; Linux x86_64; rv:71.0) Gecko\/20100101 Firefox\/71.0&quot;)\n\n\tval headers_0 = Map(&quot;Upgrade-Insecure-Requests&quot; -&gt; &quot;1&quot;)\n\tval headers_1 = Map(\n\t\t&quot;Accept&quot; -&gt; &quot;application\/font-woff2;q=1.0,application\/font-woff;q=0.9,*\/*;q=0.8&quot;,\n\t\t&quot;Accept-Encoding&quot; -&gt; &quot;identity&quot;)\n\tval scn = scenario(&quot;scriptbasic&quot;)\n\t\t.exec(http(&quot;request_0&quot;)\n\t\t\t.get(&quot;\/d8\/&quot;)\n\t\t\t.headers(headers_0)\n\t\t\t.resources(http(&quot;request_1&quot;)\n\t\t\t.get(&quot;\/catalog\/view\/javascript\/font-awesome\/fonts\/fontawesome-webfont.woff2?v=4.4.0&quot;)\n\t\t\t.headers(headers_1)))\n\t\t.pause(2)\n\t\t.exec(http(&quot;request_2&quot;)\n\t\t\t.get(&quot;\/index.php?route=product\/category&amp;path=25_28&quot;)\n\t\t\t.headers(headers_0))\n\tsetUp(scn.inject(atOnceUsers(1))).protocols(httpProtocol)\n}<\/pre>\n\n\n\n<p>Gatling Simulation Script can be partitioned into four sections i.e  <\/p>\n\n\n\n<ul class=\"wp-block-list\"><li> HTTP Protocol Configuration <\/li><li> Header Definition <\/li><li> Scenario Definition <\/li><li> Simulation Definition <\/li><\/ul>\n\n\n\n<ol class=\"wp-block-list\"><li><strong>HTTP Protocol Configuration: <\/strong> It defines the base URL for which the Gatling Simulation is generated. <\/li><\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\">val httpProtocol = http\n\t\t.baseUrl(&quot;http:\/\/vrindasharma.com&quot;)\n\t\t.inferHtmlResources()\n\t\t\t.acceptHeader(&quot;text\/html,application\/xhtml+xml,application\/xml;q=0.9,*\/*;q=0.8&quot;)\n\t\t\t.acceptEncodingHeader(&quot;gzip, deflate&quot;)\n\t\t        .acceptLanguageHeader(&quot;en-US,en;q=0.5&quot;)\n\t\t        .userAgentHeader(&quot;Mozilla\/5.0 (X11; Ubuntu; Linux x86_64; rv:71.0) Gecko\/20100101 Firefox\/71.0&quot;)<\/pre>\n\n\n\n<p>2.  <strong>Header Definition:<\/strong> It defines the header which is sent along with the base URL. <\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\">val headers_0 = Map(&quot;Upgrade-Insecure-Requests&quot; -&gt; &quot;1&quot;)\n\n\tval headers_1 = Map(\n\t\t&quot;Accept&quot; -&gt; &quot;application\/font-woff2;q=1.0,application\/font-woff;q=0.9,*\/*;q=0.8&quot;,\n\t\t&quot;Accept-Encoding&quot; -&gt; &quot;identity&quot;)<\/pre>\n\n\n\n<p>3.  <strong>Scenario Definition:<\/strong> This is the actual scenario which is being performed. A scenario consists of the series of requests.  <\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\">val scn = scenario(&quot;scriptbasic&quot;)\n\t\t.exec(http(&quot;request_0&quot;)\n\t\t.get(&quot;\/d8\/&quot;)\n\t\t.headers(headers_0)\n\t\t.resources(http(&quot;request_1&quot;)\n\t\t.get(&quot;\/catalog\/view\/javascript\/font-awesome\/fonts\/fontawesome-webfont.woff2?v=4.4.0&quot;)\n\t\t\t.headers(headers_1)))\n\t\t.pause(2)\n\t\t.exec(http(&quot;request_2&quot;)\n\t\t.get(&quot;\/index.php?route=product\/category&amp;path=25_28&quot;)\n\t\t.headers(headers_0))<\/pre>\n\n\n\n<p>Here, a value \u201cscn\u201d is declared &amp; assign it a \u201cscenario\u201d named it as \u201cscriptbasic\u201d.  A .exec() method is called to send the http requests. A .get() method is used to send the endpoint call to the base URL like <a href=\"http:\/\/vrindasharma.com\/d0\/index.php?route=product\/category&amp;path=25_28\">http:\/\/vrindasharma.com\/d8\/index.php?route=product\/category&amp;path=25_28<\/a>. <\/p>\n\n\n\n<p>.pause() method is used to calculate the pause in seconds between the two successive http requests.  <\/p>\n\n\n\n<p>4.  <strong>Simulation Definition: <\/strong>It defines the load injected to the server in terms of different parameters like number of users at once, ramp, duration etc.  <\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\">setUp(scn.inject(atOnceUsers(1))).protocols(httpProtocol)<\/pre>\n\n\n\n<p>\nThe above section defines the number of users injected(.inject()\nmethod) for the particular scenario(value scn) along with the\nheader(value httpconf). It uses the .protocols() method to pass the\nheader information to every request.<\/p>\n\n\n\n<p> The above explained part is the very basic script to understand the Gatling Simulation Structure.<\/p>\n\n\n\n<p>In case you have any queries then feel free to ask in the comment section below.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Gatling is a Scala based load testing tool. All the scripts which are written &amp; executed via this testing tool, are known as Gatling Simulations. Gatling Simulations are written in Scala language, but there is no hassles of learning the Scala language in deep as Gatling comes up with the Scala Recorder which records all <a href=\"https:\/\/webkul.com\/blog\/gatling-simulation-structure\/\">[&#8230;]<\/a><\/p>\n","protected":false},"author":192,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-219050","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Gatling Simulation Structure - Webkul Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/webkul.com\/blog\/gatling-simulation-structure\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Gatling Simulation Structure - Webkul Blog\" \/>\n<meta property=\"og:description\" content=\"Gatling is a Scala based load testing tool. All the scripts which are written &amp; executed via this testing tool, are known as Gatling Simulations. Gatling Simulations are written in Scala language, but there is no hassles of learning the Scala language in deep as Gatling comes up with the Scala Recorder which records all [...]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/webkul.com\/blog\/gatling-simulation-structure\/\" \/>\n<meta property=\"og:site_name\" content=\"Webkul Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/webkul\/\" \/>\n<meta property=\"article:published_time\" content=\"2020-01-02T14:53:21+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-01-29T11:26:33+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-og.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Vrinda Sharma\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@webkul\" \/>\n<meta name=\"twitter:site\" content=\"@webkul\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Vrinda Sharma\" \/>\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:\/\/webkul.com\/blog\/gatling-simulation-structure\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/webkul.com\/blog\/gatling-simulation-structure\/\"},\"author\":{\"name\":\"Vrinda Sharma\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/person\/e936c679e3d52624ed5c67d965efbb38\"},\"headline\":\"Gatling Simulation Structure\",\"datePublished\":\"2020-01-02T14:53:21+00:00\",\"dateModified\":\"2020-01-29T11:26:33+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/webkul.com\/blog\/gatling-simulation-structure\/\"},\"wordCount\":385,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/webkul.com\/blog\/#organization\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/webkul.com\/blog\/gatling-simulation-structure\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/webkul.com\/blog\/gatling-simulation-structure\/\",\"url\":\"https:\/\/webkul.com\/blog\/gatling-simulation-structure\/\",\"name\":\"Gatling Simulation Structure - Webkul Blog\",\"isPartOf\":{\"@id\":\"https:\/\/webkul.com\/blog\/#website\"},\"datePublished\":\"2020-01-02T14:53:21+00:00\",\"dateModified\":\"2020-01-29T11:26:33+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/webkul.com\/blog\/gatling-simulation-structure\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/webkul.com\/blog\/gatling-simulation-structure\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/webkul.com\/blog\/gatling-simulation-structure\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/webkul.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Gatling Simulation Structure\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/webkul.com\/blog\/#website\",\"url\":\"https:\/\/webkul.com\/blog\/\",\"name\":\"Webkul Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/webkul.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/webkul.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/webkul.com\/blog\/#organization\",\"name\":\"WebKul Software Private Limited\",\"url\":\"https:\/\/webkul.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png\",\"contentUrl\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png\",\"width\":380,\"height\":380,\"caption\":\"WebKul Software Private Limited\"},\"image\":{\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/webkul\/\",\"https:\/\/x.com\/webkul\",\"https:\/\/www.instagram.com\/webkul\/\",\"https:\/\/www.linkedin.com\/company\/webkul\",\"https:\/\/www.youtube.com\/user\/webkul\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/person\/e936c679e3d52624ed5c67d965efbb38\",\"name\":\"Vrinda Sharma\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/de5c9d7485ea2c21a79ddd9c407fcc23d4c8bbb9ed7913cbcbc01dd938fa9952?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Feva.png&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/de5c9d7485ea2c21a79ddd9c407fcc23d4c8bbb9ed7913cbcbc01dd938fa9952?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Feva.png&r=g\",\"caption\":\"Vrinda Sharma\"},\"url\":\"https:\/\/webkul.com\/blog\/author\/vrindasharma-tester205\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Gatling Simulation Structure - Webkul Blog","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:\/\/webkul.com\/blog\/gatling-simulation-structure\/","og_locale":"en_US","og_type":"article","og_title":"Gatling Simulation Structure - Webkul Blog","og_description":"Gatling is a Scala based load testing tool. All the scripts which are written &amp; executed via this testing tool, are known as Gatling Simulations. Gatling Simulations are written in Scala language, but there is no hassles of learning the Scala language in deep as Gatling comes up with the Scala Recorder which records all [...]","og_url":"https:\/\/webkul.com\/blog\/gatling-simulation-structure\/","og_site_name":"Webkul Blog","article_publisher":"https:\/\/www.facebook.com\/webkul\/","article_published_time":"2020-01-02T14:53:21+00:00","article_modified_time":"2020-01-29T11:26:33+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-og.png","type":"image\/png"}],"author":"Vrinda Sharma","twitter_card":"summary_large_image","twitter_creator":"@webkul","twitter_site":"@webkul","twitter_misc":{"Written by":"Vrinda Sharma","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/webkul.com\/blog\/gatling-simulation-structure\/#article","isPartOf":{"@id":"https:\/\/webkul.com\/blog\/gatling-simulation-structure\/"},"author":{"name":"Vrinda Sharma","@id":"https:\/\/webkul.com\/blog\/#\/schema\/person\/e936c679e3d52624ed5c67d965efbb38"},"headline":"Gatling Simulation Structure","datePublished":"2020-01-02T14:53:21+00:00","dateModified":"2020-01-29T11:26:33+00:00","mainEntityOfPage":{"@id":"https:\/\/webkul.com\/blog\/gatling-simulation-structure\/"},"wordCount":385,"commentCount":0,"publisher":{"@id":"https:\/\/webkul.com\/blog\/#organization"},"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/webkul.com\/blog\/gatling-simulation-structure\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/webkul.com\/blog\/gatling-simulation-structure\/","url":"https:\/\/webkul.com\/blog\/gatling-simulation-structure\/","name":"Gatling Simulation Structure - Webkul Blog","isPartOf":{"@id":"https:\/\/webkul.com\/blog\/#website"},"datePublished":"2020-01-02T14:53:21+00:00","dateModified":"2020-01-29T11:26:33+00:00","breadcrumb":{"@id":"https:\/\/webkul.com\/blog\/gatling-simulation-structure\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/webkul.com\/blog\/gatling-simulation-structure\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/webkul.com\/blog\/gatling-simulation-structure\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/webkul.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Gatling Simulation Structure"}]},{"@type":"WebSite","@id":"https:\/\/webkul.com\/blog\/#website","url":"https:\/\/webkul.com\/blog\/","name":"Webkul Blog","description":"","publisher":{"@id":"https:\/\/webkul.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/webkul.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/webkul.com\/blog\/#organization","name":"WebKul Software Private Limited","url":"https:\/\/webkul.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png","contentUrl":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png","width":380,"height":380,"caption":"WebKul Software Private Limited"},"image":{"@id":"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/webkul\/","https:\/\/x.com\/webkul","https:\/\/www.instagram.com\/webkul\/","https:\/\/www.linkedin.com\/company\/webkul","https:\/\/www.youtube.com\/user\/webkul\/"]},{"@type":"Person","@id":"https:\/\/webkul.com\/blog\/#\/schema\/person\/e936c679e3d52624ed5c67d965efbb38","name":"Vrinda Sharma","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webkul.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/de5c9d7485ea2c21a79ddd9c407fcc23d4c8bbb9ed7913cbcbc01dd938fa9952?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Feva.png&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/de5c9d7485ea2c21a79ddd9c407fcc23d4c8bbb9ed7913cbcbc01dd938fa9952?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Feva.png&r=g","caption":"Vrinda Sharma"},"url":"https:\/\/webkul.com\/blog\/author\/vrindasharma-tester205\/"}]}},"amp_enabled":false,"_links":{"self":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/219050","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/users\/192"}],"replies":[{"embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/comments?post=219050"}],"version-history":[{"count":13,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/219050\/revisions"}],"predecessor-version":[{"id":226732,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/219050\/revisions\/226732"}],"wp:attachment":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/media?parent=219050"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/categories?post=219050"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/tags?post=219050"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}