<?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: EmmaHan20220928</title>
    <description>The latest articles on DEV Community by EmmaHan20220928 (@emmaswamn).</description>
    <link>https://dev.to/emmaswamn</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%2F934409%2F22214313-5531-4e20-b03d-df06b9b9725e.png</url>
      <title>DEV Community: EmmaHan20220928</title>
      <link>https://dev.to/emmaswamn</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/emmaswamn"/>
    <language>en</language>
    <item>
      <title>Basic usage of Insomnia</title>
      <dc:creator>EmmaHan20220928</dc:creator>
      <pubDate>Thu, 29 Sep 2022 11:29:59 +0000</pubDate>
      <link>https://dev.to/emmaswamn/basic-usage-of-insomnia-4ibl</link>
      <guid>https://dev.to/emmaswamn/basic-usage-of-insomnia-4ibl</guid>
      <description>&lt;h2&gt;
  
  
  Insomnia
&lt;/h2&gt;

&lt;p&gt;It's an API design platform like postman. Most function, except Sync, is free.&lt;/p&gt;

&lt;h2&gt;
  
  
  1.Download
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://insomnia.rest/" rel="noopener noreferrer"&gt;Insomnia&lt;/a&gt;  &lt;/p&gt;

&lt;h2&gt;
  
  
  2.Basic Usage
&lt;/h2&gt;

&lt;p&gt;(If you already know all the buttons, just skip.)&lt;/p&gt;

&lt;h3&gt;
  
  
  2.1 Create new collection
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fgwsavn1m9bibd1lma2ej.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fgwsavn1m9bibd1lma2ej.png" alt="Insomnia app"&gt;&lt;/a&gt;  &lt;/p&gt;

&lt;h3&gt;
  
  
  2.2 Create new folder and http request
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.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%2F6s9amohazz50iavbmiqg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2F6s9amohazz50iavbmiqg.png" alt="In new collesction"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  2.3 Folder settings
&lt;/h3&gt;

&lt;p&gt;Right click the folder, choose settings.&lt;br&gt;&lt;br&gt;
In settings, you could change the folder name(F2 cannot) and click add description about the folder.&lt;br&gt;&lt;br&gt;
All the description will show in the final export document.  &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fxkh1vr6n2trch79smrjh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fxkh1vr6n2trch79smrjh.png" alt="Right click the folder"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Frx4x35esh50w78poudi7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Frx4x35esh50w78poudi7.png" alt="Setting image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  2.4 Request Area
&lt;/h3&gt;

&lt;p&gt;JSON： request body. could choose any other type.&lt;br&gt;
Bearer： choose token type, add value.&lt;br&gt;
Query: add fields. could use [gt] to filter data&lt;br&gt;
Header: request header.&lt;br&gt;
Doc: single request document&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Furyl3rqkvelgx8wm72zq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Furyl3rqkvelgx8wm72zq.png" alt="Request area"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  2.5 Add Environment
&lt;/h3&gt;

&lt;p&gt;Click add button beside Sub Environments.&lt;br&gt;&lt;br&gt;
Add environment variable in the right area.&lt;br&gt;&lt;br&gt;
Caution: every field and value must be wrapped in "", including the Insomnia variable(will be mentioned later).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fppul2yk9f6as2vjc9t3r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fppul2yk9f6as2vjc9t3r.png" alt="button"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2F50xoqxh5dmmuxy33taci.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2F50xoqxh5dmmuxy33taci.png" alt="Environment management"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  3 Common scenario
&lt;/h2&gt;

&lt;p&gt;Doesn't like postman, Insomnia can only use build in method or plugins.&lt;/p&gt;

&lt;h3&gt;
  
  
  3.1 Reuse a token from login request
&lt;/h3&gt;

&lt;p&gt;Scenario description:&lt;br&gt;&lt;br&gt;
1) Login response body will contain a token;&lt;br&gt;
2) You need the token to make other requests;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2F838noif6znzdsv3kqjvy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2F838noif6znzdsv3kqjvy.png" alt="Login image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Steps to follow:&lt;br&gt;&lt;br&gt;
1) Open the environment, create a token variable.&lt;br&gt;&lt;br&gt;
In value, type a 'r'(or any other character, wait a second,  Insomnia will show a list to choose from) and choose 'Response =&amp;gt; Body Attribute'.&lt;br&gt;&lt;br&gt;
2) Click the 'Response =&amp;gt; Body Attribute', config the method in 'Edit Tag'.&lt;br&gt;&lt;br&gt;
3) It used &lt;a href="https://goessner.net/articles/JsonPath/" rel="noopener noreferrer"&gt;JSONPath&lt;/a&gt; to filter token.&lt;br&gt;&lt;br&gt;
4) Refer the variable in the headers. Type 't' and it will show the variable list.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fkt4iz55w1z3lnvkiwlzp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fkt4iz55w1z3lnvkiwlzp.png" alt="Environment variable"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2F7sm2lyrak2hjztchpc3t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2F7sm2lyrak2hjztchpc3t.png" alt="Method config"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2F9bzzm05mpp2cno4aqv9d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2F9bzzm05mpp2cno4aqv9d.png" alt="Request Image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  3.2Reuse token from cookie
&lt;/h3&gt;

&lt;p&gt;Scenario description:&lt;br&gt;&lt;br&gt;
1) Using cookie to send and receive token.&lt;br&gt;&lt;br&gt;
As shown in the login request image.&lt;br&gt;&lt;br&gt;
2) request send token prefix with bear.  &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fl7r3uf43vz95jmbe5bjg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fl7r3uf43vz95jmbe5bjg.png" alt="Login request"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Steps to follow:   &lt;/p&gt;

&lt;p&gt;1) Choose 'Bearer', type in cookie and click it to config.&lt;br&gt;&lt;br&gt;
2) Choose your url and type in cookie name and then you can copy it to any request you want.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fwzn888e4mq8ya9nm2fai.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fwzn888e4mq8ya9nm2fai.png" alt="Cookie"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Ftjb05qheucmo67m2ipmp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Ftjb05qheucmo67m2ipmp.png" alt="Cookie manage"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  4 Create Document
&lt;/h2&gt;

&lt;p&gt;I only find the way using command line, don't know if there is other. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/dibinjose/create-an-api-documentation-with-insomnia-plugin-55dj"&gt;Reference doc&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;To follow the steps, you need to download &lt;a href="https://github.com/insomnia-documenter/insomnia-documenter" rel="noopener noreferrer"&gt;insomnia-documenter&lt;/a&gt; first.  &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Click the collection and choose 'import/export'.
&lt;/li&gt;
&lt;li&gt;Choose current project in 'Export data'.
&lt;/li&gt;
&lt;li&gt;Choose 'Insomnia v4(JSON)' format in export.&lt;/li&gt;
&lt;li&gt;In the export folder, use 'cmd' to open the terminal and type as below.
(Remember to replace 'filename' to your export filename)
&lt;code&gt;npx insomnia-documenter --config filename.json --output insomnia-final-result&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;'insomnia-final-result' is your final document. Use VScode or command line to open.
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fz3alrtknwatbfh55g64o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fz3alrtknwatbfh55g64o.png" alt="Export"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fd85kr89acxba4ys875vu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fd85kr89acxba4ys875vu.png" alt="Current report"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fph9zxauwfru22idl8ugs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fph9zxauwfru22idl8ugs.png" alt="Choose export request"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Finpsoavu8ni907auctsf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Finpsoavu8ni907auctsf.png" alt="Choose format"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fskcojqzwyyspo2us8p30.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fskcojqzwyyspo2us8p30.png" alt="Document in browser"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you have better solution, please do leave comment below.&lt;br&gt;&lt;br&gt;
Thank you!&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>tutorial</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
