{"id":4461,"date":"2015-05-19T03:58:03","date_gmt":"2015-05-19T03:58:03","guid":{"rendered":"http:\/\/www.jitendrazaa.com\/blog\/?p=4461"},"modified":"2015-08-26T16:18:40","modified_gmt":"2015-08-26T16:18:40","slug":"getting-started-with-basics-of-lightning-component","status":"publish","type":"post","link":"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/getting-started-with-basics-of-lightning-component\/","title":{"rendered":"Getting started with basics of Lightning Component"},"content":{"rendered":"<p style=\"text-align: justify;\">As you might already know\u00a0that next big change in Salesforce is introduction to lightning components. As technology is changing rapidly and to take advantage of cutting edge innovations in web technology, Salesforce doesn&#8217;t want to stay behind. If we see trend, all major platform has introduced component based design like <a href=\"https:\/\/www.polymer-project.org\/0.5\/\">Polymer<\/a>, <a href=\"https:\/\/www.jitendrazaa.com\/blog\/tag\/react\/\">React<\/a>, <a href=\"http:\/\/webcomponents.org\/\">Web Components<\/a>, <a href=\"http:\/\/blog.ionic.io\/angular-2-series-components\/\">Angular 2<\/a>.<\/p>\n<p style=\"text-align: justify;\">We will be discussing basics of Lightning components in this post and how Lightning application, component, controller, helpers and Apex controllers are connected with each other.<\/p>\n<p style=\"text-align: justify;\">Lightning components are\u00a0based on <a href=\"http:\/\/documentation.auraframework.org\/auradocs\">open source UI framework for web development<\/a>. Every Salesforce organization already has aura documents available in their instance and can be opened by navigating to <span style=\"text-decoration: underline; color: #0000ff;\">http:\/\/instance.salesforce.com\/auradocs<\/span>. You can also <a href=\"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/salesforce-faq-part-20-lightning-questions\/\">visit my other blog post explaining FAQ of lightning<\/a>\u00a0and <a href=\"https:\/\/developer.salesforce.com\/trailhead\/module\/lightning_components\">Lightning Trailhead module<\/a>.<\/p>\n<p style=\"text-align: justify;\">In below image, I have tried to explain at high level, how different JavaScript files are related in Lightning components, there are many other parts as well, but I tried to keep it short and simple.<\/p>\n<figure id=\"attachment_4464\" aria-describedby=\"caption-attachment-4464\" style=\"width: 625px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/05\/Getting-started-with-lightning-components.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-4464\" src=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/05\/Getting-started-with-lightning-components.png?resize=625%2C485&#038;ssl=1\" alt=\"Getting started with lightning components\" width=\"625\" height=\"485\" srcset=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/05\/Getting-started-with-lightning-components.png?resize=1024%2C795&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/05\/Getting-started-with-lightning-components.png?resize=300%2C233&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/05\/Getting-started-with-lightning-components.png?resize=624%2C485&amp;ssl=1 624w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/05\/Getting-started-with-lightning-components.png?w=1155&amp;ssl=1 1155w\" sizes=\"auto, (max-width: 625px) 100vw, 625px\" \/><\/a><figcaption id=\"caption-attachment-4464\" class=\"wp-caption-text\">Getting started with lightning components<\/figcaption><\/figure>\n<p><!--more--><\/p>\n<p><strong>Component Bundles<\/strong><\/p>\n<p>Lightning components consists of many resources as explained in below table.<\/p>\n\n<table id=\"tablepress-21\" class=\"tablepress tablepress-id-21\">\n<thead>\n<tr class=\"row-1\">\n\t<th class=\"column-1\">Resource<\/th><th class=\"column-2\">Resource Name<\/th><th class=\"column-3\">Usage<\/th>\n<\/tr>\n<\/thead>\n<tbody class=\"row-striping row-hover\">\n<tr class=\"row-2\">\n\t<td class=\"column-1\">Component or Application<\/td><td class=\"column-2\">sample.cmp or sample.app<\/td><td class=\"column-3\">The only required resource in a bundle. Contains markup for the component or app. Each bundle contains only one component or app resource.<\/td>\n<\/tr>\n<tr class=\"row-3\">\n\t<td class=\"column-1\">CSS Styles<\/td><td class=\"column-2\">sample.css<\/td><td class=\"column-3\">Styles for the component.<\/td>\n<\/tr>\n<tr class=\"row-4\">\n\t<td class=\"column-1\">Controller<\/td><td class=\"column-2\">sampleController.js<\/td><td class=\"column-3\">Client-side controller methods to handle events in the component.<\/td>\n<\/tr>\n<tr class=\"row-5\">\n\t<td class=\"column-1\">Design<\/td><td class=\"column-2\">sample.design<\/td><td class=\"column-3\">Required for components used in the Lightning App Builder or Lightning Pages.<\/td>\n<\/tr>\n<tr class=\"row-6\">\n\t<td class=\"column-1\">Helper<\/td><td class=\"column-2\">sampleHelper.js<\/td><td class=\"column-3\">JavaScript functions that can be called from any JavaScript code in a component\u2019s bundle.<\/td>\n<\/tr>\n<tr class=\"row-7\">\n\t<td class=\"column-1\">Documentation<\/td><td class=\"column-2\">sample.auradoc<\/td><td class=\"column-3\">A description, sample code, and one or multiple references to example components.<\/td>\n<\/tr>\n<tr class=\"row-8\">\n\t<td class=\"column-1\">Renderer<\/td><td class=\"column-2\">sampleRenderer.js<\/td><td class=\"column-3\">Client-side renderer to override default rendering for a component.<\/td>\n<\/tr>\n<tr class=\"row-9\">\n\t<td class=\"column-1\">SVG<\/td><td class=\"column-2\">sample.svg<\/td><td class=\"column-3\">Custom icon resource for components used in the Lightning App Builder.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n\n<p><strong>Lightning Application<\/strong><\/p>\n<p>Lightning applications are standalone page, which contains many other lightning components. Its mark up is similar to HTML as shown in above image. To create Lightning application, open developer console, navigate to &#8220;File | New | Lightning Application&#8221;. It will prompt for &#8220;Name&#8221; and &#8220;Description&#8221;, provide proper information.<\/p>\n<blockquote>\n<p style=\"text-align: justify;\">This post is written in order of &#8220;execution flow&#8221; as depicted in above image. However, to save code in your Salesforce instance, you need to create it in opposite direction. So, basically you need to start with step 5.<\/p>\n<\/blockquote>\n<p><span style=\"text-decoration: underline;\">AllContacts.app<\/span><\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;aura:application &gt;\r\n    &lt;link href='\/resource\/bootstrap\/' rel=&quot;stylesheet&quot;\/&gt;\r\n    &lt;c:AllContactsComp \/&gt;\r\n&lt;\/aura:application&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">In above lightning application, I have used Bootstrap to style my application, saved in static resource by name &#8220;bootstrap&#8221;. This application has only one Lightning component named &#8220;AllContactsComp&#8221;.<\/p>\n<p><strong>Lightning Component<\/strong><\/p>\n<p style=\"text-align: justify;\">Lightning components can be created by navigating to &#8220;File | New | Lightning Component&#8221; in developer console. It can contain &#8220;HTML + <a href=\"http:\/\/documentation.auraframework.org\/auradocs#reference?descriptor=aura:iteration&amp;defType=component\">Aura components<\/a>&#8221; supported by\u00a0Salesforce.<\/p>\n<figure id=\"attachment_4466\" aria-describedby=\"caption-attachment-4466\" style=\"width: 249px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/05\/Lightning-Components.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-4466\" src=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/05\/Lightning-Components.png?resize=249%2C211&#038;ssl=1\" alt=\"Lightning Components\" width=\"249\" height=\"211\" \/><\/a><figcaption id=\"caption-attachment-4466\" class=\"wp-caption-text\">Lightning Components &#8211; Image 2<\/figcaption><\/figure>\n<p style=\"text-align: justify;\">As shown in above image, Lightning component consists of Controller ( JS ), Helper ( JS ), Style ( CSS ), Documentation, Rerenderer, design and SVG. We will be using only Controller and Helper in this post.<\/p>\n<p><span style=\"text-decoration: underline;\">AllContactsComp.cmp<\/span><\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;aura:component controller=&quot;ContactAura&quot;&gt;\r\n    &lt;aura:attribute name=&quot;contactRows&quot; type=&quot;Object&#x5B;]&quot;\/&gt;\r\n    &lt;aura:handler name=&quot;init&quot; value=&quot;{!this}&quot; action=&quot;{!c.doInit}&quot; \/&gt;\r\n    &lt;div class=&quot;container&quot;&gt;\r\n        &lt;p&gt;\r\n        \t&lt;b&gt; List of Contacts &lt;\/b&gt;\r\n        &lt;\/p&gt;\r\n        &lt;table class=&quot;table table-bordered table-hover&quot;&gt;\r\n            &lt;thead&gt;\r\n                &lt;tr&gt;\r\n                    &lt;th&gt;&lt;strong&gt; Id &lt;\/strong&gt;&lt;\/th&gt;\r\n                    &lt;th&gt; &lt;strong&gt;  Name &lt;\/strong&gt; &lt;\/th&gt;\r\n                &lt;\/tr&gt;\r\n            &lt;\/thead&gt;\r\n            &lt;tbody&gt;\r\n                &lt;aura:iteration var=&quot;cell&quot; items=&quot;{!v.contactRows}&quot;&gt;\r\n                    &lt;tr&gt;\r\n                        &lt;td&gt; &lt;a href=&quot;{! '\/'+cell.Id}&quot;&gt; {!cell.Id} &lt;\/a&gt; &lt;\/td&gt;\r\n                        &lt;td&gt; {!cell.Name}  &lt;\/td&gt;\r\n                    &lt;\/tr&gt;\r\n                &lt;\/aura:iteration&gt;\r\n            &lt;\/tbody&gt;\r\n        &lt;\/table&gt;\r\n \t&lt;\/div&gt;\r\n&lt;\/aura:component&gt;\r\n<\/pre>\n<ul>\n<li style=\"text-align: justify;\">Above component is using Apex class &#8220;ContactAura&#8221;, which I will explain in later part of this post.<\/li>\n<li><a href=\"https:\/\/developer.salesforce.com\/trailhead\/lightning_components\/lightning_components_attributes?state=id\">Attribute\u00a0<\/a>of type Object[] defined as name &#8220;contactRows&#8221;.<\/li>\n<li style=\"text-align: justify;\">Its calling method doinit() in handler file. <span style=\"text-decoration: underline;\">&#8220;c&#8221; stands for &#8220;Controller&#8221; and &#8220;v&#8221; stands for &#8220;View&#8221; in Aura syntax.<\/span><\/li>\n<li>Later part of\u00a0code is iterating over variable &#8220;contactRows&#8221; and displaying ID and name.<\/li>\n<\/ul>\n<p><b>JavaScript<\/b><strong>\u00a0Controller<\/strong><\/p>\n<p style=\"text-align: justify;\">We can click on &#8220;Controller&#8221; link available on right\u00a0of component (image 2). It will create new file by name &#8220;[component]Controller.js&#8221; , in this case file &#8220;AllContactsCompController.js&#8221; will be created.<\/p>\n<p><span style=\"text-decoration: underline;\">AllContactsCompController.js<\/span><\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n({\r\n    doInit : function(component, event, helper){\r\n        helper.getAllContacts(component);\r\n    }\r\n})\r\n<\/pre>\n<p>this method &#8220;doInit()&#8221; is called by Component. This method is calling method in helper file.<\/p>\n<p><strong>JavaScript Helper<\/strong><\/p>\n<p style=\"text-align: justify;\">click on &#8220;Helper&#8221; link available\u00a0on right of component (image 2). It will also create new JavaScript file which will be used by Component. <span style=\"text-decoration: underline;\">This file mostly interacts with Apex method defined in @AuraEnabled static public method.<\/span><\/p>\n<p><span style=\"text-decoration: underline;\">AllContactsCompHelper.js<\/span><\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n({\r\n\tgetAllContacts : function(component, event, helper) {\r\n\t\tvar action = component.get(&quot;c.get10COntacts&quot;);\r\n        action.setCallback(this, function(a){\r\n            component.set(&quot;v.contactRows&quot;, a.getReturnValue());\r\n        });\r\n        $A.enqueueAction(action);\r\n\t}\r\n})\r\n<\/pre>\n<p style=\"text-align: justify;\">This helper file is calling method &#8220;get10Contacts&#8221; defined in Apex controller. After successful callback, it is setting variable &#8220;contactRows&#8221; defined in &#8220;<strong>V<\/strong>iew&#8221; of component. It is very important to <span style=\"text-decoration: underline;\">enqueueAction <\/span>so that it can be processed.<\/p>\n<p><strong>Apex Controller<\/strong><\/p>\n<p><span style=\"text-decoration: underline;\">ContactAura<\/span><\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\npublic class ContactAura {\r\n    @AuraEnabled\r\n    public static List&lt;Contact&gt; get10COntacts()\r\n    {\r\n        return &#x5B;SELECT Id, NAME FROM Contact Limit 10] ;\r\n    }\r\n}\r\n<\/pre>\n<p>This apex controller is just querying 10 contacts to show on component.<\/p>\n<p><b>Output<\/b><\/p>\n<p>You can check final output by clicking on &#8220;Preview&#8221; on right of Lightning App file explained in step 1 of image.<\/p>\n<figure id=\"attachment_4467\" aria-describedby=\"caption-attachment-4467\" style=\"width: 506px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/05\/Getting-started-with-Lightning-component-Output.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-4467\" src=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/05\/Getting-started-with-Lightning-component-Output.png?resize=506%2C301&#038;ssl=1\" alt=\"Getting started with Lightning component Output\" width=\"506\" height=\"301\" srcset=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/05\/Getting-started-with-Lightning-component-Output.png?w=506&amp;ssl=1 506w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/05\/Getting-started-with-Lightning-component-Output.png?resize=300%2C178&amp;ssl=1 300w\" sizes=\"auto, (max-width: 506px) 100vw, 506px\" \/><\/a><figcaption id=\"caption-attachment-4467\" class=\"wp-caption-text\">Getting started with Lightning component Output<\/figcaption><\/figure>\n<p>I would recommend to check this <a href=\"https:\/\/developer.salesforce.com\/resource\/pdfs\/Lightening_Components_Cheatsheet.pdf\">cheat-sheet by Salesforce for lightning components<\/a>.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>As you might already know\u00a0that next big change in Salesforce is introduction to lightning components. As technology is changing rapidly and to take advantage of cutting edge innovations in web technology, Salesforce doesn&#8217;t want to stay behind. If we see trend, all major platform has introduced component based design like Polymer, React, Web Components, Angular [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"jz_research_post":"","_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[310,9],"tags":[126,311,331,290],"class_list":["post-4461","post","type-post","status-publish","format-standard","hentry","category-lightning","category-salesforce","tag-javascript","tag-lightning-component","tag-salesforce","tag-trailhead"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":4646,"url":"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/compliation-of-resources-to-learn-lightning-components-in-salesforce\/","url_meta":{"origin":4461,"position":0},"title":"Compilation of resources to learn Lightning Components in Salesforce","author":"Jitendra","date":"July 8, 2015","format":false,"excerpt":"An attempt to gather all resources to learn Salesforce lightning component in one blog post","rel":"","context":"In &quot;Salesforce&quot;","block_context":{"text":"Salesforce","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/salesforce\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":4102,"url":"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/salesforce-faq-part-20-lightning-questions\/","url_meta":{"origin":4461,"position":1},"title":"Salesforce interview question related to Lightning framework &#8211; Part 20","author":"Jitendra","date":"February 4, 2015","format":false,"excerpt":"Salesforce interview questions for Salesforce developers and admin , mostly related to newly released Salesforce Lightning components and applications","rel":"","context":"In &quot;Salesforce&quot;","block_context":{"text":"Salesforce","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/salesforce\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":6176,"url":"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/lookup-component-in-salesforce-lightning\/","url_meta":{"origin":4461,"position":2},"title":"Lookup component in Salesforce Lightning","author":"Jitendra","date":"July 6, 2017","format":false,"excerpt":"Salesforce Lightning component in plain JavaScript and SLDS with complete source code","rel":"","context":"In &quot;Salesforce&quot;","block_context":{"text":"Salesforce","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/salesforce\/"},"img":{"alt_text":"Salesforce Lightning Lookup Component","src":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2017\/07\/Salesforce-Lightning-Lookup-Component.png?fit=978%2C285&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2017\/07\/Salesforce-Lightning-Lookup-Component.png?fit=978%2C285&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2017\/07\/Salesforce-Lightning-Lookup-Component.png?fit=978%2C285&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2017\/07\/Salesforce-Lightning-Lookup-Component.png?fit=978%2C285&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":5539,"url":"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/lightning-component-code-review-using-cli-video\/","url_meta":{"origin":4461,"position":3},"title":"Lightning component code review using CLI &#8211; Video","author":"Jitendra","date":"June 15, 2016","format":false,"excerpt":"Video tutorial explaining how we can use Lightning CLI to identify possible issues and enhancements needed for Lightning Component and enabling it for Locker Service","rel":"","context":"In &quot;Salesforce&quot;","block_context":{"text":"Salesforce","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/salesforce\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/img.youtube.com\/vi\/f1Zn61WYMZM\/0.jpg?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":4287,"url":"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/learning-lightning-component-trailhead-way\/","url_meta":{"origin":4461,"position":4},"title":"Learning Lightning Component &#8211; Trailhead way","author":"Jitendra","date":"March 19, 2015","format":false,"excerpt":"In Previous article, I\u00a0have introduced what is Trailhead and why employer should start using it to train Salesforce developers and Admins. At the time of writing this article, there are already 16 modules to be learned from it. Recently Salesforce has added some more awesome tutorial\u00a0and \u00a0In this article, I\u2026","rel":"","context":"In &quot;Salesforce&quot;","block_context":{"text":"Salesforce","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/salesforce\/"},"img":{"alt_text":"Learn Lightning Component Trailhead way","src":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/03\/Learn-Lightning-Trailhead-way-1024x576.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/03\/Learn-Lightning-Trailhead-way-1024x576.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/03\/Learn-Lightning-Trailhead-way-1024x576.jpg?resize=525%2C300&ssl=1 1.5x"},"classes":[]},{"id":6880,"url":"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/get-current-user-id-in-salesforce\/","url_meta":{"origin":4461,"position":5},"title":"Get Current User Id in Salesforce","author":"Jitendra","date":"February 2, 2019","format":false,"excerpt":"How to get Current Logged in user Id in Apex, Visualforce, Lightning Component and Formula fields in Salesforce","rel":"","context":"In &quot;Lightning&quot;","block_context":{"text":"Lightning","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/salesforce\/lightning\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/posts\/4461","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/comments?post=4461"}],"version-history":[{"count":14,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/posts\/4461\/revisions"}],"predecessor-version":[{"id":4778,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/posts\/4461\/revisions\/4778"}],"wp:attachment":[{"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/media?parent=4461"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/categories?post=4461"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/tags?post=4461"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}