<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Kanhaiya Banjara</title>
    <description>The latest articles on DEV Community by Kanhaiya Banjara (@kanhaiyabanjara).</description>
    <link>https://dev.to/kanhaiyabanjara</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2295224%2F2d9e1f05-703a-4cc6-929e-e509903dc7c9.jpg</url>
      <title>DEV Community: Kanhaiya Banjara</title>
      <link>https://dev.to/kanhaiyabanjara</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kanhaiyabanjara"/>
    <language>en</language>
    <item>
      <title>JSON</title>
      <dc:creator>Kanhaiya Banjara</dc:creator>
      <pubDate>Sun, 10 Nov 2024 08:47:52 +0000</pubDate>
      <link>https://dev.to/kanhaiyabanjara/json-j4k</link>
      <guid>https://dev.to/kanhaiyabanjara/json-j4k</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkkm8ou6knsbmocw5728k.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkkm8ou6knsbmocw5728k.jpg" alt="Image description" width="640" height="640"&gt;&lt;/a&gt;In JavaScript, structured data is often represented using JSON (JavaScript Object Notation), which is a lightweight, text-based format for organizing and storing data. JSON is widely used for data interchange in web applications due to its simplicity and compatibility with JavaScript objects.&lt;/p&gt;

&lt;h2&gt;
  
  
  JSON Structure Basics
&lt;/h2&gt;

&lt;p&gt;A JSON structure is composed of:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;1. Key-value pairs:&lt;/em&gt;&lt;/strong&gt;  Each key is a string, and values can be strings, numbers, objects, arrays, &lt;code&gt;true&lt;/code&gt;, &lt;code&gt;false&lt;/code&gt;, or &lt;code&gt;null&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;2. Arrays:&lt;/em&gt;&lt;/strong&gt; Ordered lists of values.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;3. Nested objects and arrays:&lt;/em&gt;&lt;/strong&gt; JSON supports nesting, allowing you to build complex data structures.&lt;/p&gt;

&lt;h2&gt;
  
  
  JSON Example
&lt;/h2&gt;

&lt;p&gt;Here’s an example of structured data in JSON format:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;name&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Alice&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;age&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;30&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;isStudent&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;courses&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Math&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Physics&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Chemistry&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;address&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;street&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;123 Main St&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;city&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;New York&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;zipCode&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;10001&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;scores&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;course&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Math&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;score&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;95&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;course&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Physics&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;score&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;88&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;course&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Chemistry&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;score&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;92&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  JSON in JavaScript
&lt;/h2&gt;

&lt;p&gt;In JavaScript, JSON is often used as a format for data received from or sent to a server in an API request/response. JSON is easily converted to and from JavaScript objects.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;1. Converting JSON to JavaScript Object&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You can parse JSON data (in string format) into a JavaScript object using &lt;code&gt;JSON.parse()&lt;/code&gt;.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;jsonString&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;{"name": "Alice", "age": 30}&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;user&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;JSON&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;parse&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;jsonString&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;user&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// Output: "Alice"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;&lt;em&gt;2. Converting JavaScript Object to JSON&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You can convert a JavaScript object to a JSON string using &lt;code&gt;JSON.stringify()&lt;/code&gt;.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;user&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Alice&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;age&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;30&lt;/span&gt; &lt;span class="p"&gt;};&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;jsonString&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;JSON&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;stringify&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;user&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;jsonString&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// Output: '{"name":"Alice","age":30}'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Nested JSON Structure
&lt;/h2&gt;

&lt;p&gt;JSON supports nesting, allowing for complex data representations:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;product&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Laptop&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;details&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;brand&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;BrandName&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;specs&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;cpu&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Intel i7&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;ram&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;16GB&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;storage&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;512GB SSD&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;reviews&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;user&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;User1&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;rating&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;comment&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Excellent!&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;user&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;User2&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;rating&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;comment&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Good value&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Common Uses of JSON in JavaScript
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;1. API Data Exchange:&lt;/em&gt;&lt;/strong&gt; JSON is often used to send and receive data between client and server in APIs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;2. Configuration Files:&lt;/em&gt;&lt;/strong&gt; JSON is used to config files in various applications and frameworks.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;3. Data Storage:&lt;/em&gt;&lt;/strong&gt; JSON can be stored in local storage or databases for use in JavaScript applications.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>json</category>
      <category>webdev</category>
      <category>api</category>
    </item>
    <item>
      <title>⚡API Quick Reference⚡</title>
      <dc:creator>Kanhaiya Banjara</dc:creator>
      <pubDate>Thu, 31 Oct 2024 08:27:03 +0000</pubDate>
      <link>https://dev.to/kanhaiyabanjara/api-quick-reference-4mk7</link>
      <guid>https://dev.to/kanhaiyabanjara/api-quick-reference-4mk7</guid>
      <description>&lt;h2&gt;
  
  
  1. HTTP Verbs
&lt;/h2&gt;

&lt;p&gt;┣ 🚀 &lt;strong&gt;&lt;em&gt;GET&lt;/em&gt;&lt;/strong&gt; : Retrieve data from the server &lt;/p&gt;

&lt;p&gt;┣ 🚀 &lt;strong&gt;&lt;em&gt;POST&lt;/em&gt;&lt;/strong&gt; : Send data to the server to create a resource &lt;/p&gt;

&lt;p&gt;┣ 🚀 &lt;strong&gt;&lt;em&gt;PUT&lt;/em&gt;&lt;/strong&gt; : Send data to the server to update a resource &lt;/p&gt;

&lt;p&gt;┣ 🚀 &lt;strong&gt;&lt;em&gt;PATCH&lt;/em&gt;&lt;/strong&gt; : Send data to the server to update a resource partially &lt;/p&gt;

&lt;p&gt;┣ 🚀 &lt;strong&gt;&lt;em&gt;DELETE&lt;/em&gt;&lt;/strong&gt; : Delete a resource from the server.&lt;/p&gt;

&lt;p&gt;┣ 🚀 &lt;strong&gt;&lt;em&gt;TRACE&lt;/em&gt;&lt;/strong&gt; : Returns the full HTTP request received by the server for debugging and diagnostic purposes.&lt;/p&gt;

&lt;p&gt;┣ 🚀 &lt;strong&gt;&lt;em&gt;OPTIONS&lt;/em&gt;&lt;/strong&gt; : Returns the HTTP methods supported by the server for the requested URL.&lt;/p&gt;

&lt;p&gt;┣ 🚀 &lt;strong&gt;&lt;em&gt;CONNECT&lt;/em&gt;&lt;/strong&gt; : Converts the request connection to a transparent TCP/IP &lt;br&gt;
tunnel for secure communication.&lt;/p&gt;

&lt;p&gt;┣ 🚀 &lt;strong&gt;&lt;em&gt;PURGE&lt;/em&gt;&lt;/strong&gt; : Invalidates a cached resource.&lt;/p&gt;

&lt;p&gt;┣ 🚀 &lt;strong&gt;&lt;em&gt;LOCK&lt;/em&gt;&lt;/strong&gt; : Locks the resource for exclusive use by the client.&lt;/p&gt;

&lt;p&gt;┣ 🚀 &lt;strong&gt;&lt;em&gt;UNLOCK&lt;/em&gt;&lt;/strong&gt; : Unlocks the resource previously locked by the client.&lt;/p&gt;

&lt;p&gt;┣ 🚀 &lt;strong&gt;&lt;em&gt;MKCOL&lt;/em&gt;&lt;/strong&gt; : Creates a new collection resource.&lt;/p&gt;

&lt;p&gt;┣ 🚀 &lt;strong&gt;&lt;em&gt;COPY&lt;/em&gt;&lt;/strong&gt; : Copies the resource identified by the Request-URI to the destination URI.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. HTTP Status Codes
&lt;/h2&gt;

&lt;p&gt;┣ 🚦&lt;strong&gt;&lt;em&gt;1xx&lt;/em&gt;&lt;/strong&gt; : Informational &lt;/p&gt;

&lt;p&gt;┣ 🚦&lt;strong&gt;&lt;em&gt;2xx&lt;/em&gt;&lt;/strong&gt; : Success &lt;/p&gt;

&lt;p&gt;┣ 🚦&lt;strong&gt;&lt;em&gt;3xx&lt;/em&gt;&lt;/strong&gt; : Redirection&lt;/p&gt;

&lt;p&gt;┣ 🚦&lt;strong&gt;&lt;em&gt;4xx&lt;/em&gt;&lt;/strong&gt; : Client Errors &lt;/p&gt;

&lt;p&gt;┣ 🚦&lt;strong&gt;&lt;em&gt;5xx&lt;/em&gt;&lt;/strong&gt; : Server Errors &lt;/p&gt;

&lt;h2&gt;
  
  
  3. Response Headers
&lt;/h2&gt;

&lt;p&gt;┣ 🌐 &lt;strong&gt;&lt;em&gt;Content-Type&lt;/em&gt;&lt;/strong&gt; : Specifies the MIME type of the data in the response body. &lt;/p&gt;

&lt;p&gt;┣ 🌐 &lt;strong&gt;&lt;em&gt;Content-Length&lt;/em&gt;&lt;/strong&gt; : Specifies the length of the response body in bytes. &lt;/p&gt;

&lt;p&gt;┣ 🌐 &lt;strong&gt;&lt;em&gt;Cache-Control&lt;/em&gt;&lt;/strong&gt; : Specifies the caching behavior of the response.&lt;/p&gt;

&lt;p&gt;┣ 🌐 &lt;strong&gt;&lt;em&gt;Location&lt;/em&gt;&lt;/strong&gt; : Specifies the URI of a resource that can be used to &lt;br&gt;
retrieve the requested resource.&lt;/p&gt;

&lt;p&gt;┣ 🌐 &lt;strong&gt;&lt;em&gt;Server&lt;/em&gt;&lt;/strong&gt; : Specifies the name and version of the server software that generated the response.&lt;/p&gt;

&lt;p&gt;┣ 🌐 &lt;strong&gt;&lt;em&gt;Access-Control-Allow-Origin&lt;/em&gt;&lt;/strong&gt; : Specifies which origins are allowed to access the resource.&lt;/p&gt;

&lt;p&gt;┣ 🌐 &lt;strong&gt;&lt;em&gt;Set-Cookie&lt;/em&gt;&lt;/strong&gt; : Specifies a cookie that should be stored by the client and sent back to the server with future requests.&lt;/p&gt;

&lt;p&gt;┣ 🌐 &lt;strong&gt;&lt;em&gt;Expires&lt;/em&gt;&lt;/strong&gt; : Specifies the date and time after which the response is considered stale.&lt;/p&gt;

&lt;p&gt;┣ 🌐 &lt;strong&gt;&lt;em&gt;Last-Modified&lt;/em&gt;&lt;/strong&gt; : Specifies the date and time the resource was last modified. &lt;/p&gt;

&lt;h2&gt;
  
  
  4. API Design
&lt;/h2&gt;

&lt;p&gt;┣ 💻 &lt;strong&gt;&lt;em&gt;REST&lt;/em&gt;&lt;/strong&gt; : Representational State Transfer, a design pattern for &lt;br&gt;
building web services.&lt;/p&gt;

&lt;p&gt;┣ 💻 &lt;strong&gt;&lt;em&gt;SOAP&lt;/em&gt;&lt;/strong&gt; : Simple Object Access Protocol, a messaging protocol for &lt;br&gt;
exchanging structured data.&lt;/p&gt;

&lt;p&gt;┣ 💻 &lt;strong&gt;&lt;em&gt;GraphQL&lt;/em&gt;&lt;/strong&gt; : A query language and runtime for building APIs.&lt;/p&gt;

&lt;p&gt;┣ 💻 &lt;strong&gt;&lt;em&gt;API Gateway&lt;/em&gt;&lt;/strong&gt; : A service that manages, protects, and scales APIs. &lt;/p&gt;

&lt;h2&gt;
  
  
  5. API Architectures
&lt;/h2&gt;

&lt;p&gt;┣ 🏢 &lt;strong&gt;&lt;em&gt;SOA&lt;/em&gt;&lt;/strong&gt; : Service-Oriented Architecture, an architectural style for building distributed systems.&lt;/p&gt;

&lt;p&gt;┣ 🏢 &lt;strong&gt;&lt;em&gt;Microservices&lt;/em&gt;&lt;/strong&gt; : An architectural style for building complex &lt;br&gt;
applications as a suite of small, independent services.&lt;/p&gt;

&lt;p&gt;┣ 🏢 &lt;strong&gt;&lt;em&gt;Serverless&lt;/em&gt;&lt;/strong&gt; : A cloud computing execution model where the cloud &lt;br&gt;
provider manages the infrastructure and automatically allocates resources &lt;br&gt;
as needed.&lt;/p&gt;

&lt;p&gt;┣ 🏢 &lt;strong&gt;&lt;em&gt;Event-Driven&lt;/em&gt;&lt;/strong&gt; : An architectural style where the flow of data between components is triggered by events.&lt;/p&gt;

&lt;p&gt;┣ 🏢 &lt;strong&gt;&lt;em&gt;RESTful API&lt;/em&gt;&lt;/strong&gt; : An architectural style that uses HTTP requests to GET, POST, PUT, and DELETE data. &lt;/p&gt;

&lt;h2&gt;
  
  
  6. API Design Patterns
&lt;/h2&gt;

&lt;p&gt;┣ 🧩 &lt;strong&gt;&lt;em&gt;Adapter Pattern&lt;/em&gt;&lt;/strong&gt; : A pattern that converts the interface of a class into another interface that clients expect. &lt;/p&gt;

&lt;p&gt;┣ 🧩 &lt;strong&gt;&lt;em&gt;Decorator Pattern&lt;/em&gt;&lt;/strong&gt; : A pattern that adds behavior to an individual object dynamically. &lt;/p&gt;

&lt;p&gt;┣ 🧩 &lt;strong&gt;&lt;em&gt;Proxy Pattern&lt;/em&gt;&lt;/strong&gt; : A pattern that provides a surrogate or placeholder for another object to control access to it.&lt;/p&gt;

&lt;p&gt;┣ 🧩 &lt;strong&gt;&lt;em&gt;Chain of Responsibility Pattern&lt;/em&gt;&lt;/strong&gt; : A pattern that delegates commands to a chain of processing objects.&lt;/p&gt;

&lt;p&gt;┣ 🧩 &lt;strong&gt;&lt;em&gt;Observer Pattern&lt;/em&gt;&lt;/strong&gt; : A pattern that defines a one-to-many dependency between objects so that when one object changes state, all its dependents are notified and updated automatically.&lt;/p&gt;

&lt;h2&gt;
  
  
  7. API Security
&lt;/h2&gt;

&lt;p&gt;┣ 🔑 &lt;strong&gt;&lt;em&gt;OAuth&lt;/em&gt;&lt;/strong&gt; : An open standard for authorization used for protecting APIs. &lt;/p&gt;

&lt;p&gt;┣ 🔑 &lt;strong&gt;&lt;em&gt;JWT&lt;/em&gt;&lt;/strong&gt; : JSON Web Tokens, a standard for securely transmitting &lt;br&gt;
information between parties as a JSON object. &lt;/p&gt;

&lt;p&gt;┣ 🔑 &lt;strong&gt;_ SSL/TLS_&lt;/strong&gt; : Secure Sockets Layer/Transport Layer Security, a protocol for establishing a secure connection between a client and a server.&lt;/p&gt;

&lt;p&gt;┣ 🔑 &lt;strong&gt;&lt;em&gt;API Key&lt;/em&gt;&lt;/strong&gt; : A secret token used to authenticate API requests.&lt;/p&gt;

&lt;p&gt;┣ 🔑 &lt;strong&gt;&lt;em&gt;Rate Limiting&lt;/em&gt;&lt;/strong&gt; : A technique used to limit the number of requests that can be made to an API over a specific period of time.&lt;/p&gt;

&lt;p&gt;┣ 🔑 &lt;strong&gt;&lt;em&gt;OpenID Connect&lt;/em&gt;&lt;/strong&gt; : An authentication layer built on top of OAuth that allows users to be authenticated across multiple domains.&lt;/p&gt;

&lt;p&gt;┣ 🔑 &lt;strong&gt;&lt;em&gt;Cross-Origin Resource Sharing (CORS)&lt;/em&gt;&lt;/strong&gt; : A mechanism that allows many resources (e.g., fonts, JavaScript, etc.) on a web page to be requested from another domain outside the domain from which the resource originated .&lt;/p&gt;

&lt;h2&gt;
  
  
  8. API Testing
&lt;/h2&gt;

&lt;p&gt;┣ 🧪 &lt;strong&gt;&lt;em&gt;Postman&lt;/em&gt;&lt;/strong&gt; : A popular tool for testing and debugging APIs.&lt;/p&gt;

&lt;p&gt;┣ 🧪 &lt;strong&gt;&lt;em&gt;SoapUI&lt;/em&gt;&lt;/strong&gt; : A tool for testing SOAP and REST web services.&lt;/p&gt;

&lt;p&gt;┣ 🧪 &lt;strong&gt;&lt;em&gt;Swagger&lt;/em&gt;&lt;/strong&gt; : A tool for designing, building, and testing APIs.&lt;/p&gt;

&lt;p&gt;┣ 🧪 &lt;strong&gt;_ JMeter_&lt;/strong&gt; : A tool for testing the performance of APIs.&lt;/p&gt;

&lt;p&gt;┣ 🧪 &lt;strong&gt;&lt;em&gt;TestRail&lt;/em&gt;&lt;/strong&gt; : A test management tool for planning, executing, and &lt;br&gt;
tracking API tests.&lt;/p&gt;

&lt;p&gt;┣ 🧪 &lt;strong&gt;&lt;em&gt;Dredd&lt;/em&gt;&lt;/strong&gt; : A command-line tool for testing API documentation against its backend implementation.&lt;/p&gt;

&lt;p&gt;┣ 🧪 &lt;strong&gt;&lt;em&gt;REST Assured&lt;/em&gt;&lt;/strong&gt; : A Java-based library for testing RESTful APIs.&lt;/p&gt;

&lt;p&gt;┣ 🧪  &lt;strong&gt;&lt;em&gt;Karate DSL&lt;/em&gt;&lt;/strong&gt; : A testing framework for API testing using Gherkin syntax.&lt;/p&gt;

&lt;p&gt;┣ 🧪 &lt;strong&gt;&lt;em&gt;HttpMaster&lt;/em&gt;&lt;/strong&gt; : A tool for testing and debugging APIs.&lt;/p&gt;

&lt;p&gt;┣ 🧪 &lt;strong&gt;&lt;em&gt;Assertible&lt;/em&gt;&lt;/strong&gt; : A tool for testing and monitoring APIs with automated tests. &lt;/p&gt;

&lt;h2&gt;
  
  
  9. API Development
&lt;/h2&gt;

&lt;p&gt;┣ 🧑🏻‍💻 &lt;strong&gt;&lt;em&gt;Node.js&lt;/em&gt;&lt;/strong&gt; : A JavaScript runtime for building server-side &lt;br&gt;
applications.&lt;/p&gt;

&lt;p&gt;┣ 🧑🏻‍💻 &lt;strong&gt;&lt;em&gt;Express&lt;/em&gt;&lt;/strong&gt; : A popular framework for building web applications and APIs with Node.js.&lt;/p&gt;

&lt;p&gt;┣ 🧑🏻‍💻 &lt;strong&gt;&lt;em&gt;Django&lt;/em&gt;&lt;/strong&gt; : A Python web framework for building web applications and APIs.&lt;/p&gt;

&lt;p&gt;┣ 🧑🏻‍💻 &lt;strong&gt;&lt;em&gt;Flask&lt;/em&gt;&lt;/strong&gt; : A lightweight Python web framework for building web &lt;br&gt;
applications and APIs.&lt;/p&gt;

&lt;p&gt;┣ 🧑🏻‍💻 &lt;strong&gt;&lt;em&gt;Spring&lt;/em&gt;&lt;/strong&gt; : A Java framework for building enterprise-level web &lt;br&gt;
applications and APIs.&lt;/p&gt;

&lt;p&gt;┣ 🛠️ &lt;strong&gt;&lt;em&gt;Swagger Editor&lt;/em&gt;&lt;/strong&gt; : A tool for designing and documenting APIs using the OpenAPI specification.&lt;/p&gt;

&lt;p&gt;┣ 🛠️ &lt;strong&gt;_Postman _&lt;/strong&gt;: A tool for testing and debugging APIs.&lt;/p&gt;

&lt;p&gt;┣ 🛠️ &lt;strong&gt;&lt;em&gt;Insomnia&lt;/em&gt;&lt;/strong&gt; : A tool for designing, testing, and debugging APIs.&lt;/p&gt;

&lt;p&gt;┣ 🛠️ &lt;strong&gt;&lt;em&gt;Paw&lt;/em&gt;&lt;/strong&gt; : A tool for designing and testing APIs on Mac OS.&lt;/p&gt;

&lt;p&gt;┣ 🛠️ &lt;strong&gt;&lt;em&gt;API Blueprint&lt;/em&gt;&lt;/strong&gt; : A high-level API description language for building RESTful APIs. &lt;/p&gt;

</description>
      <category>api</category>
      <category>testing</category>
      <category>http</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Web APIs</title>
      <dc:creator>Kanhaiya Banjara</dc:creator>
      <pubDate>Tue, 29 Oct 2024 16:46:03 +0000</pubDate>
      <link>https://dev.to/kanhaiyabanjara/web-apis-2ceb</link>
      <guid>https://dev.to/kanhaiyabanjara/web-apis-2ceb</guid>
      <description>&lt;p&gt;Web APIs are interfaces that allow web applications to communicate with external services or data sources over the internet.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. REST API&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;REST APIs use standard HTTP methods &amp;amp; are stateless. They&lt;br&gt;
typically return data in JSON or XML format.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Used for web services, where resources are accessed via URLs. Commonly used for CRUD operations on data.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;Example:&lt;/em&gt; GitHub API, Twitter API.&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nf"&gt;fetch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;https://api.github.com/users/octocat&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;then&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;responce&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;responce&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;json&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt;
    &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;then&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
    &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="k"&gt;catch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;error&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;error&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Error:&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;2. SOAP API&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;SOAP is a protocol that uses XML for message format &amp;amp; typically relies on HTTP or SMTP for message negotiation &amp;amp; transmission.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Enterprise-level applications requiring security, reliability, and&lt;br&gt;
formal contracts (WSDL).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;Example:&lt;/em&gt; Payment gateways, financial services APIs.&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;soap&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;require&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;soap&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;url&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;https://www.example.com/service?wsdl&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="nx"&gt;soap&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;createClient&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;url&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;err&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;client&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;err&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;throw&lt;/span&gt; &lt;span class="nx"&gt;err&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nx"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;MyFunction&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="na"&gt;param&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;value&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;err&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;result&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;err&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;throw&lt;/span&gt; &lt;span class="nx"&gt;err&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;result&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="p"&gt;});&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;3. GraphQL API&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;GraphQL allows clients to request exactly the data they&lt;br&gt;
need, and nothing more. It uses a single endpoint and&lt;br&gt;
provides more flexibility compared to REST.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;When you need efficient querying of complex datasets, or when working with mobile applications where bandwidth&lt;br&gt;
is a concern.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;Example:&lt;/em&gt; Facebook's GraphQL API, Shopify API.&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;request&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;gql&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;require&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;graphql-request&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;query&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;gql&lt;/span&gt;&lt;span class="s2"&gt;`
    {
        user(login: "octocat"){
            name
            bio
        }
    }
`&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="nf"&gt;request&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;https://api.github.com/graphql&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;query&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;then&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
    &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="k"&gt;catch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;error&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;error&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Error:&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;4. WebSocket API&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;WebSocket's enable real-time, two-way communication between client and server over a single, long-lived connection.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Real-time applications like chat applications, live sports updates, and online games.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;Example:&lt;/em&gt; Slack API, trading platforms.&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;socket&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;WebSocket&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;wss://example.com/socket&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="nx"&gt;socket&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;onopen&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Connected&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="nx"&gt;socket&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;send&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;JSON&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;stringify&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;&lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;follow&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;channel&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;news&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;}));&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;

&lt;span class="nx"&gt;socket&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;onmessage&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;event&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Message from server&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;event&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;

&lt;span class="nx"&gt;socket&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;onclose&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Disconnected&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;5. OAuth API&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;OAuth is a protocol that allows third-party applications to grant limited access to user accounts on an HTTP service, typically used for authentication and authorization.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Used for single sign-on (SSO) and authorization across different services.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;Example:&lt;/em&gt; Google OAuth 2.0, Facebook Login API&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;axios&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;require&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;axios&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;token&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;your_oauth_token&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="nx"&gt;axios&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;https://api.example.com/userinfo&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;headers&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;Authorization&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;`Bearer &lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;token&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;`&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;
    &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;then&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;responce&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;responce&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
    &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="k"&gt;catch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;error&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;error&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Error:&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;6. Batch API&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Batch APIs allow clients to make multiple API calls in a single HTTP request, often improving performance by reducing the number of network requests.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;When a client needs to perform multiple actions at once or when working with large datasets.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;Example:&lt;/em&gt; Facebook Graph API batch requests&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nf"&gt;fetch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;https://graph.facebook.com/v11.0&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;method&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;POST&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;headers&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Content-Type&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;application/json&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="na"&gt;body&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;JSON&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;stringify&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
        &lt;span class="na"&gt;batch&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
            &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;method&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;GET&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;relative_url&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;me&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
            &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;method&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;GET&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;relative_url&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;me/friends&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
        &lt;span class="p"&gt;],&lt;/span&gt;
        &lt;span class="na"&gt;access_token&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;your_access_token&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
    &lt;span class="p"&gt;})&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;
    &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;then&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;responce&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;responce&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;json&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt;
    &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;then&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
    &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="k"&gt;catch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;error&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;error&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Error:&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>api</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
