{"id":1915,"date":"2022-06-17T05:57:21","date_gmt":"2022-06-17T05:57:21","guid":{"rendered":"https:\/\/rahulshettyacademy.com\/blog\/index.php\/2022\/06\/17\/clone-of-api-basics-and-architecture\/"},"modified":"2022-06-19T16:14:41","modified_gmt":"2022-06-19T16:14:41","slug":"elements-of-http-request-response-http-methods","status":"publish","type":"post","link":"https:\/\/rahulshettyacademy.com\/blog\/index.php\/2022\/06\/17\/elements-of-http-request-response-http-methods\/","title":{"rendered":"Elements of HTTP Request\/Response, HTTP Methods"},"content":{"rendered":"<h3 id=\"t-1655527381484\"><b>Elements of HTTP Request\/Response, HTTP Methods<\/b>&nbsp;<\/h3>\n<p>Welcome you all to the brand new \u2018API Testing\u2019 blog series! In the previous blog, we had learned about the basics of API. Let us continue our API testing journey!!&nbsp;<\/p>\n<h3 id=\"t-1608133326002\"><b>1. What you will Learn in this blog ?<\/b><\/h3>\n<ul>\n<li>Components of HTTP request<\/li>\n<li>Components of HTTP response<\/li>\n<li>HTTP methods (Get, Post, Put, Delete)<\/li>\n<\/ul>\n<h3 id=\"t-1655527381485\"><b>2. <b>Components of HTTP request<\/b><\/b>&nbsp;<\/h3>\n<p>We have seen in the previous blog that Client-Server communication involves HTTP Request and HTTP Response.<\/p>\n<p>Let us now learn about the elements of HTTP Request. Below are the components of HTTP Request:<\/p>\n<ul>\n<li>Request URL, Request method, Request status code;<\/li>\n<li>Zero or more Request Headers;<\/li>\n<li>Request Body (optional)<\/li>\n<\/ul>\n<p>Let us understand these components one by one.<\/p>\n<h3 id=\"t-1655527381486\"><b>3. <b><b><u>Request URL, Request method, Request status code.<\/u><\/b><\/b><\/b><\/h3>\n<p>Let us open chrome browser and launch <a href=\"https:\/\/opensource-demo.orangehrmlive.com\/index.php\/auth\/login\" style=\"outline: none;\" target=\"_blank\" rel=\"noopener\">https:\/\/opensource-demo.orangehrmlive.com\/index.php\/auth\/login<\/a><\/p>\n<p><span><img decoding=\"async\" alt=\"\" data-id=\"2021\" width=\"539\" data-init-width=\"300\" height=\"230\" data-init-height=\"128\" title=\"Image 1\" loading=\"lazy\" src=\"https:\/\/rahulshettyacademy.com\/blog\/wp-content\/uploads\/2022\/06\/Image-1-1-300x128.jpg\" data-width=\"539\" data-height=\"230\" style=\"\"><\/span><\/p>\n<p>Press F12 key and click \u2018Network\u2019 section as shown below<\/p>\n<p><span><img decoding=\"async\" alt=\"\" data-id=\"2022\" width=\"504\" data-init-width=\"300\" height=\"314\" data-init-height=\"187\" title=\"Image 2\" loading=\"lazy\" src=\"https:\/\/rahulshettyacademy.com\/blog\/wp-content\/uploads\/2022\/06\/Image-2-1-300x187.jpg\" data-width=\"504\" data-height=\"314\" style=\"\"><\/span><\/p>\n<p>Right now you would NOT see any HTTP requests (see yellow section in above figure).<\/p>\n<p>&nbsp;Refresh the website or press Ctrl+R. You would now see lot of HTTP requests in the Network section as shown below<\/p>\n<p><span><img decoding=\"async\" alt=\"\" data-id=\"2023\" width=\"467\" data-init-width=\"290\" height=\"483\" data-init-height=\"300\" title=\"Image 3\" loading=\"lazy\" src=\"https:\/\/rahulshettyacademy.com\/blog\/wp-content\/uploads\/2022\/06\/Image-3-1-290x300.jpg\" data-width=\"467\" data-height=\"483\" style=\"\"><\/span><\/p>\n<p>Select \u2018login\u2019 request<\/p>\n<p><span><img decoding=\"async\" alt=\"\" data-id=\"2024\" width=\"474\" data-init-width=\"300\" height=\"139\" data-init-height=\"88\" title=\"Image 4\" loading=\"lazy\" src=\"https:\/\/rahulshettyacademy.com\/blog\/wp-content\/uploads\/2022\/06\/Image-4-1-300x88.jpg\" data-width=\"474\" data-height=\"139\" style=\"\"><\/span><\/p>\n<p>On the right hand side, you would see \u2018Headers\u2019 section comprising of<\/p>\n<ul>\n<li>General<\/li>\n<li>Request Headers<\/li>\n<li>Response Headers<\/li>\n<\/ul>\n<p>Let us expand the \u2018General\u2019 section<\/p>\n<p><span><img decoding=\"async\" alt=\"\" data-id=\"2025\" width=\"529\" data-init-width=\"300\" height=\"284\" data-init-height=\"161\" title=\"Image 5\" loading=\"lazy\" src=\"https:\/\/rahulshettyacademy.com\/blog\/wp-content\/uploads\/2022\/06\/Image-5-1-300x161.jpg\" data-width=\"529\" data-height=\"284\" style=\"\"><\/span><\/p>\n<p>The \u2018General\u2019 section has information about<\/p>\n<ul>\n<li>Request URL (this matches the url in the address bar), this is the same url that client has requested;<\/li>\n<li>Request Method is of type GET (since the client is requesting a read-only information from server, client is NOT posting any data on server);<\/li>\n<li>Request status code is 200 since the server was successful in serving the client request.<\/li>\n<\/ul>\n<h3 id=\"t-1655527381487\"><b>4. <span style=\"font-weight: normal;\"><b>Request Header<\/b><\/span><\/b><\/h3>\n<p>Let us now expand the \u2018Request Headers\u2019 as shown below<\/p>\n<p><span><img decoding=\"async\" alt=\"\" data-id=\"2026\" width=\"508\" data-init-width=\"300\" height=\"298\" data-init-height=\"176\" title=\"Image 6\" loading=\"lazy\" src=\"https:\/\/rahulshettyacademy.com\/blog\/wp-content\/uploads\/2022\/06\/Image-6-1-300x176.jpg\" data-width=\"508\" data-height=\"298\" style=\"\"><\/span>The header information can also be sent behind the scenes (automatically) along with the HTTP request. For example, as can be seen above, the cookie information is sent to the server (as part of http request header), similarly User-Agent information is sent and so on.<\/p>\n<h3 id=\"t-1655527381488\"><b>5. <b>Request Body<\/b><\/b><\/h3>\n<p>Request body is optional that may or may not be submitted as part of request. The body could be either in the json or xml format.<\/p>\n<p>As of now we haven\u2019t sent any login credentials (Username and Password) along with the HTTP request<\/p>\n<p><span><img decoding=\"async\" alt=\"\" data-id=\"2027\" width=\"518\" data-init-width=\"300\" height=\"195\" data-init-height=\"113\" title=\"Image 7\" loading=\"lazy\" src=\"https:\/\/rahulshettyacademy.com\/blog\/wp-content\/uploads\/2022\/06\/Image-7-1-300x113.jpg\" data-width=\"518\" data-height=\"195\" style=\"\"><\/span><\/p>\n<p>That\u2019s the reason, we do not yet see the \u2018Payload\u2019 section (see below). Payload is same as the body section<\/p>\n<p><span><img decoding=\"async\" alt=\"\" data-id=\"2028\" width=\"542\" data-init-width=\"300\" height=\"67\" data-init-height=\"37\" title=\"Image 8\" loading=\"lazy\" src=\"https:\/\/rahulshettyacademy.com\/blog\/wp-content\/uploads\/2022\/06\/Image-8-1-300x37.jpg\" data-width=\"542\" data-height=\"67\" style=\"\"><\/span><\/p>\n<p>Let us now enter the Username\/Password as Admin\/admin123&nbsp;<\/p>\n<p><span><img decoding=\"async\" alt=\"\" data-id=\"2029\" width=\"510\" data-init-width=\"300\" height=\"360\" data-init-height=\"212\" title=\"Image 9\" loading=\"lazy\" src=\"https:\/\/rahulshettyacademy.com\/blog\/wp-content\/uploads\/2022\/06\/Image-9-1-300x212.jpg\" data-width=\"510\" data-height=\"360\" style=\"\"><\/span><\/p>\n<p>Click LOGIN. After successful login, look for the validateCredentials http request as shown below<\/p>\n<p><span><img decoding=\"async\" alt=\"\" data-id=\"2030\" width=\"526\" data-init-width=\"300\" height=\"438\" data-init-height=\"250\" title=\"Image 10\" loading=\"lazy\" src=\"https:\/\/rahulshettyacademy.com\/blog\/wp-content\/uploads\/2022\/06\/Image-10-1-300x250.jpg\" data-width=\"526\" data-height=\"438\" style=\"\"><\/span><\/p>\n<p>On the right hand side, you will now see the body section \u2018Payload\u2019 as shown above. This section shows us the information (username, password) that we had sent as part of request body.<\/p>\n<h3 id=\"t-1655527381489\"><b>6. <b><b>Components of HTTP response<\/b><\/b><\/b><\/h3>\n<p>Once client hits the request, the server processes the request and will send the HTTP response back to the client. So the HTTP response contains the data or information requested by the client.<\/p>\n<p>HTTP Response also has the similar set of elements:<\/p>\n<ul>\n<li>Response Header<\/li>\n<li>Response Body (optional)<\/li>\n<\/ul>\n<p>Let us understand these components one by one.<\/p>\n<h3 id=\"t-1655527381490\"><b>7. <b><b><b>Response Header<\/b><\/b><\/b><\/b><\/h3>\n<p>Let us hit the url <a href=\"https:\/\/jsonplaceholder.typicode.com\/posts\/4\" target=\"_blank\" rel=\"noopener\">https:\/\/jsonplaceholder.typicode.com\/posts\/4<\/a><\/p>\n<p>We will get the below response<\/p>\n<p><span><img decoding=\"async\" alt=\"\" data-id=\"2031\" width=\"532\" data-init-width=\"300\" height=\"124\" data-init-height=\"70\" title=\"Image 11\" loading=\"lazy\" src=\"https:\/\/rahulshettyacademy.com\/blog\/wp-content\/uploads\/2022\/06\/Image-11-1-300x70.jpg\" data-width=\"532\" data-height=\"124\" style=\"\"><\/span><\/p>\n<p>Press F12 and refresh the page. Expand \u2018Response Headers\u2019. Notice below that we can see the server side header information like the server name etc<\/p>\n<p><span><img decoding=\"async\" alt=\"\" data-id=\"2032\" width=\"512\" data-init-width=\"296\" height=\"519\" data-init-height=\"300\" title=\"Image 12\" loading=\"lazy\" src=\"https:\/\/rahulshettyacademy.com\/blog\/wp-content\/uploads\/2022\/06\/Image-12-1-296x300.jpg\" data-width=\"512\" data-height=\"519\" style=\"\"><\/span><\/p>\n<h3 id=\"t-1655527381491\"><b>8. <b><b><b>Response Body<\/b><\/b><\/b><\/b><\/h3>\n<p>See below. We have the \u2018Response\u2019 section that shows the exact same information which we get when we hit the url<\/p>\n<p><span><img decoding=\"async\" alt=\"\" data-id=\"2033\" width=\"544\" data-init-width=\"300\" height=\"372\" data-init-height=\"205\" title=\"Image 13\" loading=\"lazy\" src=\"https:\/\/rahulshettyacademy.com\/blog\/wp-content\/uploads\/2022\/06\/Image-13-1-300x205.jpg\" data-width=\"544\" data-height=\"372\" style=\"\"><\/span><\/p>\n<p>Let us change the request url <a href=\"https:\/\/jsonplaceholder.typicode.com\/posts\/9\" style=\"outline: none;\" target=\"_blank\" rel=\"noopener\">https:\/\/jsonplaceholder.typicode.com\/posts\/<b>9<\/b><\/a><\/p>\n<p>Notice below that the body of the response changes<\/p>\n<p><span><img decoding=\"async\" alt=\"\" data-id=\"2034\" width=\"487\" data-init-width=\"300\" height=\"359\" data-init-height=\"221\" title=\"Image 14\" loading=\"lazy\" src=\"https:\/\/rahulshettyacademy.com\/blog\/wp-content\/uploads\/2022\/06\/Image-14-1-300x221.jpg\" data-width=\"487\" data-height=\"359\" style=\"\"><\/span><\/p>\n<h3 id=\"t-1655527381492\"><b>9. <b><b><b><b><u>HTTP Methods<\/u><\/b><\/b><\/b><\/b><\/b><\/h3>\n<p>The client hits the request URL to perform some operation on the server. The HTTP methods or operations that can be performed on the server are: &nbsp;<\/p>\n<ul>\n<li><u>Create<\/u> new data on the server (HTTP POST method)<\/li>\n<li><u>Update<\/u> the data on the server&nbsp; (HTTP PUT method)<\/li>\n<li><u>Read<\/u> data from server (HTTP GET method)<\/li>\n<li><u>Delete<\/u> the data from the server (HTTP DELETE method)<\/li>\n<\/ul>\n<p>These 4 methods are also known as CURD operations (Create, Update, Read, and Delete).<\/p>\n<p>Let us discuss about Read and Create operations.<\/p>\n<h3 id=\"t-1655527381493\"><b>10. <b><b><b><b><u><b><u>HTTP GET method (Read)<\/u><\/b><\/u><\/b><\/b><\/b><\/b><\/b><\/h3>\n<p>The GET request is used to access some information from the server. The GET request does not modify any data on the server. If the requested data is found on the server, the server returns \u2018200 OK\u2019 status code as part of response body<\/p>\n<p><span><img decoding=\"async\" alt=\"\" data-id=\"2035\" width=\"503\" data-init-width=\"300\" height=\"179\" data-init-height=\"107\" title=\"Image 15\" loading=\"lazy\" src=\"https:\/\/rahulshettyacademy.com\/blog\/wp-content\/uploads\/2022\/06\/Image-15-1-300x107.jpg\" data-width=\"503\" data-height=\"179\" style=\"\"><\/span>If the requested data is not found on the server, the server returns \u2018404 (Not Found)\u2019 status code as part of response body, see below. Try to access <a href=\"https:\/\/jsonplaceholder.typicode.com\/posts\/444\" style=\"outline: none;\" target=\"_blank\" rel=\"noopener\"><\/a><a href=\"https:\/\/jsonplaceholder.typicode.com\/posts\/444\" target=\"_blank\" rel=\"noopener\">https:\/\/jsonplaceholder.typicode.com\/posts\/444<\/a><span><img decoding=\"async\" alt=\"\" data-id=\"2036\" width=\"500\" data-init-width=\"300\" height=\"300\" data-init-height=\"180\" title=\"Image 16\" loading=\"lazy\" src=\"https:\/\/rahulshettyacademy.com\/blog\/wp-content\/uploads\/2022\/06\/Image-16-300x180.jpg\" data-width=\"500\" data-height=\"300\" style=\"\"><\/span><\/p>\n<h3 id=\"t-1655527381494\"><b>11. <b><b><b><b><u><b><u><b><u>HTTP POST method (Create)<\/u><\/b><\/u><\/b><\/u><\/b><\/b><\/b><\/b><\/b><\/h3>\n<p>Whenever we create\/post a new comment on twitter\/facebook\/linkedin, we are basically making an HTTP POST request that creates new data on the server.<\/p>\n<p>If the data is successfully created on the server, the server returns \u2018201 Created\u2019 status code as part of response body. To simulate the POST request, download, install and launch postman (postman is used to manually test the APIs, we will discuss in detail about the postman later).<\/p>\n<p>Click + to create a new api request as shown below<\/p>\n<p><span><img decoding=\"async\" alt=\"\" data-id=\"2037\" width=\"539\" data-init-width=\"300\" height=\"172\" data-init-height=\"96\" title=\"Image 17\" loading=\"lazy\" src=\"https:\/\/rahulshettyacademy.com\/blog\/wp-content\/uploads\/2022\/06\/Image-17-300x96.jpg\" data-width=\"539\" data-height=\"172\" style=\"\"><\/span><\/p>\n<p>Select POST from the dropdown since we want to post new data to the server<\/p>\n<p><span><img decoding=\"async\" alt=\"\" data-id=\"2038\" width=\"369\" data-init-width=\"251\" height=\"201\" data-init-height=\"137\" title=\"Image 18\" loading=\"lazy\" src=\"https:\/\/rahulshettyacademy.com\/blog\/wp-content\/uploads\/2022\/06\/Image-18.jpg\" data-width=\"369\" data-height=\"201\" style=\"\"><\/span><\/p>\n<p>Launch <a href=\"https:\/\/jsonplaceholder.typicode.com\/posts\/\" style=\"outline: none;\" target=\"_blank\" rel=\"noopener\">https:\/\/jsonplaceholder.typicode.com\/posts\/<\/a><\/p>\n<p>Scroll down to the page end, notice that this page contains data up to id:100 as shown below<\/p>\n<p><span><img decoding=\"async\" alt=\"\" data-id=\"2039\" width=\"528\" data-init-width=\"300\" height=\"160\" data-init-height=\"91\" title=\"Image 19\" loading=\"lazy\" src=\"https:\/\/rahulshettyacademy.com\/blog\/wp-content\/uploads\/2022\/06\/Image-19-300x91.jpg\" data-width=\"528\" data-height=\"160\" style=\"\"><\/span><\/p>\n<p>We will post and create a new id.<\/p>\n<p>Copy Request URL and paste it in \u2018Enter request URL\u2019 field<\/p>\n<p><span><img decoding=\"async\" alt=\"\" data-id=\"2040\" width=\"524\" data-init-width=\"300\" height=\"86\" data-init-height=\"49\" title=\"Image 20\" loading=\"lazy\" src=\"https:\/\/rahulshettyacademy.com\/blog\/wp-content\/uploads\/2022\/06\/Image-20-300x49.jpg\" data-width=\"524\" data-height=\"86\" style=\"\"><\/span><\/p>\n<p>&nbsp;Next, select Body &gt; raw &gt; JSON as shown below<\/p>\n<p><span><img decoding=\"async\" alt=\"\" data-id=\"2041\" width=\"524\" data-init-width=\"300\" height=\"103\" data-init-height=\"59\" title=\"Image 21\" loading=\"lazy\" src=\"https:\/\/rahulshettyacademy.com\/blog\/wp-content\/uploads\/2022\/06\/Image-21-300x59.jpg\" data-width=\"524\" data-height=\"103\" style=\"\"><\/span><\/p>\n<p>Next, copy the below json section<\/p>\n<p><span><img decoding=\"async\" alt=\"\" data-id=\"2042\" width=\"527\" data-init-width=\"300\" height=\"160\" data-init-height=\"91\" title=\"Image 22\" loading=\"lazy\" src=\"https:\/\/rahulshettyacademy.com\/blog\/wp-content\/uploads\/2022\/06\/Image-22-300x91.jpg\" data-width=\"527\" data-height=\"160\" style=\"\"><\/span><\/p>\n<p>Paste it in the body section<\/p>\n<p><span><img decoding=\"async\" alt=\"\" data-id=\"2043\" width=\"528\" data-init-width=\"300\" height=\"222\" data-init-height=\"126\" title=\"Image 23\" loading=\"lazy\" src=\"https:\/\/rahulshettyacademy.com\/blog\/wp-content\/uploads\/2022\/06\/Image-23-300x126.jpg\" data-width=\"528\" data-height=\"222\" style=\"\"><\/span><\/p>\n<p>Change id to 101 as shown below<\/p>\n<p><span><img decoding=\"async\" alt=\"\" data-id=\"2044\" width=\"523\" data-init-width=\"300\" height=\"370\" data-init-height=\"212\" title=\"Image 24\" loading=\"lazy\" src=\"https:\/\/rahulshettyacademy.com\/blog\/wp-content\/uploads\/2022\/06\/Image-24-300x212.jpg\" data-width=\"523\" data-height=\"370\" style=\"\"><\/span><span><img decoding=\"async\" alt=\"\" data-id=\"2045\" width=\"348\" data-init-width=\"300\" height=\"93\" data-init-height=\"80\" title=\"Image 25\" loading=\"lazy\" src=\"https:\/\/rahulshettyacademy.com\/blog\/wp-content\/uploads\/2022\/06\/Image-25-300x80.jpg\" data-width=\"348\" data-height=\"93\" style=\"\"><\/span><\/p>\n<p>Click SEND&nbsp;<\/p>\n<p>Notice the response body status \u2018201 Created\u2019<\/p>\n<p><span><img decoding=\"async\" alt=\"\" data-id=\"2046\" width=\"519\" data-init-width=\"300\" height=\"118\" data-init-height=\"68\" title=\"Image 26\" loading=\"lazy\" src=\"https:\/\/rahulshettyacademy.com\/blog\/wp-content\/uploads\/2022\/06\/Image-26-300x68.jpg\" data-width=\"519\" data-height=\"118\" style=\"\"><\/span><\/p>\n<p>If the post request fails\/unsuccessful, than the status \u2018400 Bad Request\u2019 is shown. See below, we get \u2018Missing password\u2019 error (the request url is different)<\/p>\n<p><span><img decoding=\"async\" alt=\"\" data-id=\"2049\" width=\"529\" data-init-width=\"300\" height=\"367\" data-init-height=\"208\" title=\"Image 27\" loading=\"lazy\" src=\"https:\/\/rahulshettyacademy.com\/blog\/wp-content\/uploads\/2022\/06\/Image-27-300x208.jpg\" data-width=\"529\" data-height=\"367\" style=\"\"><\/span><\/p>\n<p>So, this was quick glimpse of GET\/POST requests.<\/p>\n<p><b>Just a side note:<\/b> The network timelines section takes the extra space on our webpage. Since we don\u2019t need the network timelines section, we can disable the same. To do that, click the \u2018Network Settings\u2019 gear icon&nbsp;<\/p>\n<p><span><img decoding=\"async\" alt=\"\" data-id=\"2050\" width=\"558\" data-init-width=\"300\" height=\"125\" data-init-height=\"67\" title=\"Image 28\" loading=\"lazy\" src=\"https:\/\/rahulshettyacademy.com\/blog\/wp-content\/uploads\/2022\/06\/Image-28-300x67.jpg\" data-width=\"558\" data-height=\"125\" style=\"\"><\/span><\/p>\n<p>By default, \u2018Show overview\u2019 checkbox is checked<\/p>\n<p><span><img decoding=\"async\" alt=\"\" data-id=\"2051\" width=\"558\" data-init-width=\"300\" height=\"89\" data-init-height=\"48\" title=\"Image 29\" loading=\"lazy\" src=\"https:\/\/rahulshettyacademy.com\/blog\/wp-content\/uploads\/2022\/06\/Image-29-300x48.jpg\" data-width=\"558\" data-height=\"89\" style=\"\"><\/span><\/p>\n<p>Just uncheck \u2018Show overview\u2019 checkbox. The timeline would disappear as shown below<\/p>\n<p><span><img decoding=\"async\" alt=\"\" data-id=\"2052\" width=\"526\" data-init-width=\"300\" height=\"137\" data-init-height=\"78\" title=\"Image 30\" loading=\"lazy\" src=\"https:\/\/rahulshettyacademy.com\/blog\/wp-content\/uploads\/2022\/06\/Image-30-300x78.jpg\" data-width=\"526\" data-height=\"137\" style=\"\"><\/span><\/p>\n<p>Click \u2018Network Settings\u2019 gear icon again to hide the greyed-out checkboxes that you see above<\/p>\n<p><span><img decoding=\"async\" alt=\"\" data-id=\"2053\" width=\"494\" data-init-width=\"300\" height=\"313\" data-init-height=\"190\" title=\"Image 31\" loading=\"lazy\" src=\"https:\/\/rahulshettyacademy.com\/blog\/wp-content\/uploads\/2022\/06\/Image-31-300x190.jpg\" data-width=\"494\" data-height=\"313\" style=\"\"><\/span><\/p>\n<p>Thank you for reading!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Elements of HTTP Request\/Response, HTTP Methods&nbsp; Welcome you all to the brand new \u2018API Testing\u2019 blog series! In the previous blog, we had learned about the basics of API. Let us continue our API testing journey!!&nbsp; 1. What you will Learn in this blog ? Components of HTTP request Components of HTTP response HTTP methods [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2293,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1915","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","post-wrapper","thrv_wrapper"],"_links":{"self":[{"href":"https:\/\/rahulshettyacademy.com\/blog\/index.php\/wp-json\/wp\/v2\/posts\/1915","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rahulshettyacademy.com\/blog\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rahulshettyacademy.com\/blog\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rahulshettyacademy.com\/blog\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rahulshettyacademy.com\/blog\/index.php\/wp-json\/wp\/v2\/comments?post=1915"}],"version-history":[{"count":18,"href":"https:\/\/rahulshettyacademy.com\/blog\/index.php\/wp-json\/wp\/v2\/posts\/1915\/revisions"}],"predecessor-version":[{"id":2297,"href":"https:\/\/rahulshettyacademy.com\/blog\/index.php\/wp-json\/wp\/v2\/posts\/1915\/revisions\/2297"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/rahulshettyacademy.com\/blog\/index.php\/wp-json\/wp\/v2\/media\/2293"}],"wp:attachment":[{"href":"https:\/\/rahulshettyacademy.com\/blog\/index.php\/wp-json\/wp\/v2\/media?parent=1915"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rahulshettyacademy.com\/blog\/index.php\/wp-json\/wp\/v2\/categories?post=1915"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rahulshettyacademy.com\/blog\/index.php\/wp-json\/wp\/v2\/tags?post=1915"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}