{"id":319295,"date":"2022-01-16T14:34:48","date_gmt":"2022-01-16T14:34:48","guid":{"rendered":"https:\/\/webkul.com\/blog\/?p=319295"},"modified":"2022-01-16T14:34:52","modified_gmt":"2022-01-16T14:34:52","slug":"implementation-uses-of-resolvers-in-angular-js","status":"publish","type":"post","link":"https:\/\/webkul.com\/blog\/implementation-uses-of-resolvers-in-angular-js\/","title":{"rendered":"Implementation\/Uses of Resolvers in Angular Js"},"content":{"rendered":"\n<p>Today we are going to learn Resover in Angular Js.<\/p>\n\n\n\n<p>Sometimes we need that data needed in our page must be retrieved before page navigation. in this case, we can use route resolver for prefetch the data needed before nevigation.<\/p>\n\n\n\n<p>Using Angular Resolvers, application can prefetch data from the server before the activatedRoute is activated of the next component.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>To resolve data before page navigation classes have to implement Resolve Interface.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\">interface Resolve&lt;T&gt; {\n  resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable&lt;T&gt; | Promise&lt;T&gt; | T\n}<\/pre>\n\n\n\n<p>Below is the code how a class can implement the Resolve interface and return the data to be fetched before route navigation.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\">@Injectable({ providedIn: &#039;root&#039; })\nexport class HeroResolver implements Resolve&lt;Hero&gt; {\n  constructor(private service: HeroService) {}\n\n  resolve(\n    route: ActivatedRouteSnapshot,\n    state: RouterStateSnapshot\n  ): Observable&lt;any&gt;|Promise&lt;any&gt;|any {\n    return this.service.getHero(route.paramMap.get(&#039;id&#039;));\n  }\n}<\/pre>\n\n\n\n<p><\/p>\n\n\n\n<p>Now Let&#8217;s understand the use of resolver with an example and step by step process.<\/p>\n\n\n\n<p>Suppose we have to create a component and we need that list of countries in that component and we have to prefetch the list and we will resolve the data through route resolver.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>Below is the module.ts file for our example.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"># myapp.module.ts<\/h4>\n\n\n\n<pre class=\"EnlighterJSRAW\">\/\/ myapp.module.ts\n\nimport { NgModule } from &#039;@angular\/core&#039;;\nimport { MyAppRoutingModule } from &#039;.\/myapp-routing.module&#039;;\nimport { MyAppComponent }     from &#039;.\/myapp.component&#039;;\n\n@NgModule({\n    imports: &#091;\n        MyAppRoutingModule\n    ],\n    exports: &#091;],\n    declarations: &#091;MyAppComponent],\n    providers: &#091;],\n})\n\nexport class MyAppModule { }<\/pre>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Create A Service (core.service.ts)<\/h3>\n\n\n\n<p>Create a core service to get list of countries. We will use the list of country in our components.<\/p>\n\n\n\n<p>below is the code for service.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\">\/\/core.service.ts\n\nimport { Injectable } from &#039;@angular\/core&#039;;\nimport { Response }   from &#039;@angular\/http&#039;;\nimport { HttpService }  from &#039;..\/..\/http.service&#039;;\n\n@Injectable()\nexport class CoreService {\n    constructor(private http: HttpService) { }\n\n    \/\/ This function will return the list of countries\n    getCountries() {\n        return this.http.get(`\/api\/admin\/countries`)\n            .map((response: Response) =&gt; response.json());\n    }\n}<\/pre>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Create the resolver file (country.resolver.ts)<\/h3>\n\n\n\n<p>Second step to create the resolver file <code>country.resolver.ts<\/code> To resolve data before page navigation.<br>Lets create a resolver which will prefetch data(country list) from the core.service.ts<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\">\/\/ country.resolver.ts\n\nimport { Injectable } from &#039;@angular\/core&#039;;\nimport { Response } from &#039;@angular\/http&#039;;\nimport { Resolve, ActivatedRouteSnapshot, RouterStateSnapshot } from &#039;@angular\/router&#039;;\nimport { Observable } from &#039;rxjs\/Observable&#039;;\nimport { CoreService }  from &#039;.\/core.service&#039;;\n\n@Injectable()\nexport class CountryResolver implements Resolve&lt;any&gt; {\n    constructor(\n        private core: CoreService\n    ) {}\n\n    resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable&lt;any&gt; {\n        return this.core.getCountries()\n            .map(countries =&gt; {\n                return countries;\n            })\n            .catch((error: Response) =&gt; {\n                return Observable.throw(error);\n            })\n    }\n}<\/pre>\n\n\n\n<p>So now we have created the resolver file.<\/p>\n\n\n\n<p>Now as we have completed the steps till creating resolver. Now we will move to the steps to use resolver in our components.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Create Route Configuration (myapp-routing.module.ts)<\/h3>\n\n\n\n<p>We will configure the routes. Lets modify the routes in the app-routing.module.ts<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\">\/\/ myapp-routing.module.ts\n\nimport { NgModule } from &#039;@angular\/core&#039;;\nimport { Routes, RouterModule } from &#039;@angular\/router&#039;;\n\nimport { CountryResolver }   from &#039;..\/..\/core\/country.resolver&#039;;\nimport { MyAppComponent }    from &#039;.\/myapp.component&#039;;\n\nconst routes: Routes = &#091;\n  {\n    path: &#039;add-entity&#039;,\n    component: MyAppComponent,\n    data: {&#039;title&#039; : &quot;Add Entity&quot;},\n    resolve: {\n      &#039;countries&#039;: CountryResolver\n    }\n  },\n  {\n    path: &#039;edit-entity\/:id&#039;,\n    component: MyAppComponent,\n    data: {&#039;title&#039; : &quot;Edit Entity&quot;} ,\n    resolve: {\n      &#039;countries&#039;: CountryResolver\n    }\n  },\n];\n\n@NgModule({\n  imports: &#091;RouterModule.forChild(routes)],\n  exports: &#091;RouterModule],\n})\n\nexport class MyAppRoutingModule { }<\/pre>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Create Component (myapp.component.ts)<\/h3>\n\n\n\n<p>Now lets create a component in which we will use the data from the resolver. So we will get the data from the CountryResolver and assign to a variable from our component.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\">\/\/ myapp.component.ts\n\nimport { Component, OnInit } from &#039;@angular\/core&#039;;\nimport { Router, ActivatedRoute, Params } from &#039;@angular\/router&#039;;\n\n@Component({\n    templateUrl: &#039;.\/myapp.component.html&#039;,\n    styleUrls: &#091;&#039;..\/myapp.component.css&#039;]\n})\n\nexport class MyAppComponent implements OnInit {\n    countries: any = {};\n\n    constructor(\n        private route: ActivatedRoute,\n        private router: Router\n    ) {\n      \/\/ write code for the constructor of your component\n    }\n\n    ngOnInit() {\n        \/\/ below is how you can get the data from the resolver data\n        this.route.data\n        .subscribe((data: { countries: any }) =&gt; {\n            this.countries = data.countries;\n        });\n    }\n\n    \/\/ write code for your component\n    .....\n}<\/pre>\n\n\n\n<p>So in the ngOnInit() event we get the data from the route resolver and assigned the list of countries to one of our component class variable.<br><\/p>\n\n\n\n<p>Now you can use this variable containing the list of countries in your component and as per you requirement.<\/p>\n\n\n\n<p>So this is the process how you can create route revolvers in angular and use them. So you can use the same resolver in the multiple component where ever you find the use of the resolver.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>Hope after this blog, You will be able to use resolvers in your code easily.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>Thanks for reading. Happy coding. \ud83d\ude42<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Today we are going to learn Resover in Angular Js. Sometimes we need that data needed in our page must be retrieved before page navigation. in this case, we can use route resolver for prefetch the data needed before nevigation. Using Angular Resolvers, application can prefetch data from the server before the activatedRoute is activated <a href=\"https:\/\/webkul.com\/blog\/implementation-uses-of-resolvers-in-angular-js\/\">[&#8230;]<\/a><\/p>\n","protected":false},"author":83,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[12318,12320,12319,12321],"class_list":["post-319295","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-angular","tag-angular-prefetch-data","tag-resolvers","tag-route-resolvers"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Implementation\/Uses of Resolvers in Angular Js<\/title>\n<meta name=\"description\" content=\"Resolvers in AngularJs are used for fetching data before loading the page when user visits to an angular page.\" \/>\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\/implementation-uses-of-resolvers-in-angular-js\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Implementation\/Uses of Resolvers in Angular Js\" \/>\n<meta property=\"og:description\" content=\"Resolvers in AngularJs are used for fetching data before loading the page when user visits to an angular page.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/webkul.com\/blog\/implementation-uses-of-resolvers-in-angular-js\/\" \/>\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=\"2022-01-16T14:34:48+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-01-16T14:34:52+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=\"Sumit\" \/>\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=\"Sumit\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/webkul.com\/blog\/implementation-uses-of-resolvers-in-angular-js\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/webkul.com\/blog\/implementation-uses-of-resolvers-in-angular-js\/\"},\"author\":{\"name\":\"Sumit\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/person\/3e45ec35749afa62aa598a5e1766d2b9\"},\"headline\":\"Implementation\/Uses of Resolvers in Angular Js\",\"datePublished\":\"2022-01-16T14:34:48+00:00\",\"dateModified\":\"2022-01-16T14:34:52+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/webkul.com\/blog\/implementation-uses-of-resolvers-in-angular-js\/\"},\"wordCount\":415,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/webkul.com\/blog\/#organization\"},\"keywords\":[\"angular\",\"angular prefetch data\",\"resolvers\",\"route resolvers\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/webkul.com\/blog\/implementation-uses-of-resolvers-in-angular-js\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/webkul.com\/blog\/implementation-uses-of-resolvers-in-angular-js\/\",\"url\":\"https:\/\/webkul.com\/blog\/implementation-uses-of-resolvers-in-angular-js\/\",\"name\":\"Implementation\/Uses of Resolvers in Angular Js\",\"isPartOf\":{\"@id\":\"https:\/\/webkul.com\/blog\/#website\"},\"datePublished\":\"2022-01-16T14:34:48+00:00\",\"dateModified\":\"2022-01-16T14:34:52+00:00\",\"description\":\"Resolvers in AngularJs are used for fetching data before loading the page when user visits to an angular page.\",\"breadcrumb\":{\"@id\":\"https:\/\/webkul.com\/blog\/implementation-uses-of-resolvers-in-angular-js\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/webkul.com\/blog\/implementation-uses-of-resolvers-in-angular-js\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/webkul.com\/blog\/implementation-uses-of-resolvers-in-angular-js\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/webkul.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Implementation\/Uses of Resolvers in Angular Js\"}]},{\"@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\/3e45ec35749afa62aa598a5e1766d2b9\",\"name\":\"Sumit\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/0e50336dc34ad31135238f210897d19d09edbdb9be2f7974a85de3ecdef16bf6?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/0e50336dc34ad31135238f210897d19d09edbdb9be2f7974a85de3ecdef16bf6?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g\",\"caption\":\"Sumit\"},\"url\":\"https:\/\/webkul.com\/blog\/author\/sumit201\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Implementation\/Uses of Resolvers in Angular Js","description":"Resolvers in AngularJs are used for fetching data before loading the page when user visits to an angular page.","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\/implementation-uses-of-resolvers-in-angular-js\/","og_locale":"en_US","og_type":"article","og_title":"Implementation\/Uses of Resolvers in Angular Js","og_description":"Resolvers in AngularJs are used for fetching data before loading the page when user visits to an angular page.","og_url":"https:\/\/webkul.com\/blog\/implementation-uses-of-resolvers-in-angular-js\/","og_site_name":"Webkul Blog","article_publisher":"https:\/\/www.facebook.com\/webkul\/","article_published_time":"2022-01-16T14:34:48+00:00","article_modified_time":"2022-01-16T14:34:52+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":"Sumit","twitter_card":"summary_large_image","twitter_creator":"@webkul","twitter_site":"@webkul","twitter_misc":{"Written by":"Sumit","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/webkul.com\/blog\/implementation-uses-of-resolvers-in-angular-js\/#article","isPartOf":{"@id":"https:\/\/webkul.com\/blog\/implementation-uses-of-resolvers-in-angular-js\/"},"author":{"name":"Sumit","@id":"https:\/\/webkul.com\/blog\/#\/schema\/person\/3e45ec35749afa62aa598a5e1766d2b9"},"headline":"Implementation\/Uses of Resolvers in Angular Js","datePublished":"2022-01-16T14:34:48+00:00","dateModified":"2022-01-16T14:34:52+00:00","mainEntityOfPage":{"@id":"https:\/\/webkul.com\/blog\/implementation-uses-of-resolvers-in-angular-js\/"},"wordCount":415,"commentCount":0,"publisher":{"@id":"https:\/\/webkul.com\/blog\/#organization"},"keywords":["angular","angular prefetch data","resolvers","route resolvers"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/webkul.com\/blog\/implementation-uses-of-resolvers-in-angular-js\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/webkul.com\/blog\/implementation-uses-of-resolvers-in-angular-js\/","url":"https:\/\/webkul.com\/blog\/implementation-uses-of-resolvers-in-angular-js\/","name":"Implementation\/Uses of Resolvers in Angular Js","isPartOf":{"@id":"https:\/\/webkul.com\/blog\/#website"},"datePublished":"2022-01-16T14:34:48+00:00","dateModified":"2022-01-16T14:34:52+00:00","description":"Resolvers in AngularJs are used for fetching data before loading the page when user visits to an angular page.","breadcrumb":{"@id":"https:\/\/webkul.com\/blog\/implementation-uses-of-resolvers-in-angular-js\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/webkul.com\/blog\/implementation-uses-of-resolvers-in-angular-js\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/webkul.com\/blog\/implementation-uses-of-resolvers-in-angular-js\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/webkul.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Implementation\/Uses of Resolvers in Angular Js"}]},{"@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\/3e45ec35749afa62aa598a5e1766d2b9","name":"Sumit","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webkul.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/0e50336dc34ad31135238f210897d19d09edbdb9be2f7974a85de3ecdef16bf6?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0e50336dc34ad31135238f210897d19d09edbdb9be2f7974a85de3ecdef16bf6?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g","caption":"Sumit"},"url":"https:\/\/webkul.com\/blog\/author\/sumit201\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/319295","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\/83"}],"replies":[{"embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/comments?post=319295"}],"version-history":[{"count":5,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/319295\/revisions"}],"predecessor-version":[{"id":319895,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/319295\/revisions\/319895"}],"wp:attachment":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/media?parent=319295"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/categories?post=319295"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/tags?post=319295"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}