Thuta Learning
API Integration & Webhooks
AdvancedWeb Developmentintermediate

Postman Environment နှင့် Variable

ဒီခန်းပြီးရင် ဘာတတ်သွားမလဲ

  • Postman Environment နှင့် Variable concept ကို နားလည်ရှင်းပြနိုင်ရန်
  • Diagram ကို ဖတ်ပြီး request/response (သို့) event flow ဘယ်လိုစီးဆင်းသလဲ ခြေရာခံနိုင်ရန်
  • ကိုယ့် ကိုယ်ပိုင် API integration အတွက် ဘယ်လို အသုံးချသင့်သလဲ ရှင်းပြနိုင်ရန်

နားလည်ထားရမယ့် အချက်

Collection တစ်ခုမှာ server တစ်ခုထက်ပိုလိုအပ်လာတဲ့ချိန်ကစပြီး ထိန်းသိမ်းရခက်ပါတယ်။ URL ကို hardcode ထားရင် development ကနေ staging/production ကို ပြောင်းဖို့ request တစ်ခုစီ လက်ဖြင့် ပြင်ရပါမယ် — တစ်ခုခု မေ့နိုင်ပါတယ်။ Environments တွေက request ဘာလုပ်တယ်နဲ့ ဘယ်ကိုညွှန်းတယ်ဆိုတာကို ခွဲပေးပါတယ်။

Environment တစ်ခုဆိုတာ key-value pair အမည်ပေးထားတဲ့ အစုပါ။ Development က baseUrl ကို local address၊ token ကို test အဖြစ် သတ်မှတ်ပါတယ်; Staging ကလည်း key တူတူပဲ staging server ညွှန်းပါတယ်; Production ကလည်း ထပ်တူပါ။ active environment ပြောင်းတာက key တွေရဲ့ တန်ဖိုးကိုပဲ ပြောင်းပေးတာ — request တွေကို မထိပါ။

Request တွေက key တွေကို placeholder syntax နဲ့ ညွှန်းပါတယ် — URL hardcode မလုပ်ဘဲ {{baseUrl}}/users လို့ ရေးပါတယ်။ ဒီ substitution ကို headers, query parameters, bodies တွေမှာလည်း သုံးလို့ရပြီး auth header က Bearer {{token}} လို့ ရေးနိုင်ပါတယ်၊ တကယ့်တန်ဖိုး မပေါ်ပါ။

Environment file ထဲမှာ တကယ့် secret ကို commit မလုပ်ပါနဲ့

export လုပ်ထားတဲ့ environment ဟာ file တစ်ခုပါပဲ။ တကယ့် token/password ပါနေရင် chat၊ Git၊ ticket မှာ share လုပ်တာက plain text paste လုပ်သလိုပဲ secret ပေါက်ကြားစေပါတယ်။ share မလုပ်ခင် placeholder value အစားထိုးပါ။

Environment Variable
Postman မှာ environment တစ်ခုစီအလိုက် သတ်မှတ်ထားတဲ့ အမည်ပေးထားသော placeholder (baseUrl သို့မဟုတ် token လိုမျိုး) — request တွေထဲမှာ {{name}} အနေနဲ့ ညွှန်းပြီး request ပို့ချိန်မှသာ ဒီ environment ရဲ့ တကယ့်တန်ဖိုးအဖြစ် ပြောင်းသွားတာပါ။
text
ENVIRONMENTS FEEDING THE SAME REQUESTS
--------------------------------------
DEVELOPMENT            STAGING               PRODUCTION
baseUrl: local           baseUrl: staging       baseUrl: prod
token:   dev-key         token:   staging-key   token:   prod-key
       \                      |                      /
        \                     |                     /
         v                    v                    v
            ONE SET OF REQUESTS, SAME FOR ALL THREE
            GET     {{baseUrl}}/users
            HEADER  Authorization: Bearer {{token}}

လက်တွေ့ scenario နဲ့ ချိတ်ကြည့်မယ်

"Users API" collection မှာ {{baseUrl}}/users ပုံစံ request တွေရှိတယ်ဆိုပါစို့။ development ချိန်မှာ Development ရဲ့ baseUrl က http://localhost:3000 ကို ညွှန်းပြီး throwaway test token ရှိပါတယ်။ staging စစ်ဖို့ environment ပြောင်းရုံပါပဲ — baseUrl က staging URL ဖြစ်သွားပြီး token ကလည်း staging credential ဖြစ်သွားပါတယ် — request ကို ထိစရာ မလိုပါ။

environment အလိုက် ကွဲပြားတဲ့ အရာတိုင်းအတွက် ပုံစံတူတူ ကျင့်သုံးနိုင်ပါတယ် — Production က token format ကွဲနိုင်တယ်၊ header အပိုတစ်ခု လိုအပ်နိုင်ပါတယ်။ ဒီ logic က request တွေထဲမှာ မရှိပါ — Send ချိန် active ဖြစ်နေတဲ့ environment ထဲမှာပဲ ရှိပါတယ်။

  • share မလုပ်ခင်: export လုပ်ထားတဲ့ environment file ကိုဖွင့်ပြီး value တိုင်းကို စစ်ပါ။
  • တကယ့် token/password ရှိရင် <your-token-here> လိုမျိုး placeholder နဲ့ အစားထိုးပါ။
  • export လုပ်ထားတဲ့ environment ကို 'config တစ်ခုပဲ' လို့ မယူဆပါနဲ့ — credential file တစ်ခုလို ဆက်ဆံပါ။

အတူတူ စမ်းရေးကြည့်မယ်

javascript
// Illustrative only — represents Postman environment variable sets,
// not real credentials. {{baseUrl}} and {{token}} are placeholders a
// request uses; Postman fills them in from whichever environment is
// currently active.

const developmentEnv = {
  baseUrl: "http://localhost:3000",
  token: "dev-test-key-123",
};

const stagingEnv = {
  baseUrl: "https://staging.example.com",
  token: "staging-test-key-456",
};

const productionEnv = {
  baseUrl: "https://api.example.com",
  token: "<never store the real value in a shared file>",
};

// A request always looks the same, regardless of which environment
// is active:
const request = {
  method: "GET",
  url: "{{baseUrl}}/users",
  headers: { Authorization: "Bearer {{token}}" },
};

Run လုပ်လို့မရနိုင်ပါ

ဒါက Postman UI workflow (သို့) request/response shape ဖြစ်ပြီး run လို့မရပါ — ကိုယ်ပိုင် Postman (သို့) API client ထဲမှာ လိုက်လုပ်ကြည့်ပါ။

You should see
ဒီ code ကို run လုပ်တာ မဟုတ်ပါဘူး — ပုံစံကိုသာ ပြသနေတာပါ။ Postman ရဲ့ active environment dropdown ကို Development ကနေ Staging ကို ပြောင်းလိုက်ရင် အထက်က request ပို့တဲ့အခါ {{baseUrl}}, {{token}} တို့က ဘာကို ညွှန်းမလဲဆိုတာ ပြောင်းသွားပါလိမ့်မယ်; request text ကိုယ်တိုင်တော့ ဘယ်တော့မှ မပြောင်းပါဘူး။

၅ မိနစ် စမ်းကြည့်

baseUrl တစ်ခုတည်း ကွဲပြားတဲ့ environment နှစ်ခု ဖန်တီးပါ (တစ်ခုကို public API စစ်စစ်ကို ညွှန်းပြီး၊ နောက်တစ်ခုကို placeholder host အတု ညွှန်းပါ)။ {{baseUrl}}/path သုံးထားတဲ့ request တစ်ခု ဖန်တီးပြီး environment တစ်ခုစီအောက်မှာ ပို့ကြည့်ပါ — active environment ရဲ့ တန်ဖိုးပဲ သုံးမှန်း အခြားဘာမှ မပြောင်းကြောင်း သေချာစေပါ။

သတိလေးတစ်ချက်

environment ထဲမှာ တကယ့် token/password ကို သိမ်းထားပြီး ဒီ file ကို export/commit လုပ်ခြင်း — plain text အတိုင်း secret ပေါက်ကြားစေပါတယ်။

request မပို့ခင် ဘယ် environment active ဖြစ်နေလဲ မစစ်ဘဲ production ကို test data နဲ့ ထိခိုက်စေခြင်း ဒါမှမဟုတ် ပြောင်းပြန်ဖြစ်ခြင်း။

Postman Docs — VariablesAPI Integration & Webhooks

ဒီနေရာမှာ လူအများမှားတတ်တယ်

  • environment ထဲမှာ တကယ့် token/password ကို သိမ်းထားပြီး ဒီ file ကို export/commit လုပ်ခြင်း — plain text အတိုင်း secret ပေါက်ကြားစေပါတယ်။
  • request မပို့ခင် ဘယ် environment active ဖြစ်နေလဲ မစစ်ဘဲ production ကို test data နဲ့ ထိခိုက်စေခြင်း ဒါမှမဟုတ် ပြောင်းပြန်ဖြစ်ခြင်း။
  • API Tutorial (apiguide) ကို မလေ့လာရသေးရင် ဒီ course ကို စမလိုက်ခင် အရင် ပြီးအောင် လေ့လာထားသင့်ပါတယ် — ဒီ course က REST/HTTP/Auth အခြေခံတွေကို ထပ်မသင်ဘဲ webhook, testing, reliability, integration architecture တို့ကိုသာ ဆက်လက် တည်ဆောက်ပါတယ်။

လေ့ကျင့်ခန်း

baseUrl တစ်ခုတည်း ကွဲပြားတဲ့ environment နှစ်ခု ဖန်တီးပါ (တစ်ခုကို public API စစ်စစ်ကို ညွှန်းပြီး၊ နောက်တစ်ခုကို placeholder host အတု ညွှန်းပါ)။ {{baseUrl}}/path သုံးထားတဲ့ request တစ်ခု ဖန်တီးပြီး environment တစ်ခုစီအောက်မှာ ပို့ကြည့်ပါ — active environment ရဲ့ တန်ဖိုးပဲ သုံးမှန်း အခြားဘာမှ မပြောင်းကြောင်း သေချာစေပါ။

You'll know it worked when: ဒီ code ကို run လုပ်တာ မဟုတ်ပါဘူး — ပုံစံကိုသာ ပြသနေတာပါ။ Postman ရဲ့ active environment dropdown ကို Development ကနေ Staging ကို ပြောင်းလိုက်ရင် အထက်က request ပို့တဲ့အခါ {{baseUrl}}, {{token}} တို့က ဘာကို ညွှန်းမလဲဆိုတာ ပြောင်းသွားပါလိမ့်မယ်; request text ကိုယ်တိုင်တော့ ဘယ်တော့မှ မပြောင်းပါဘူး။

Postman Environment နှင့် Variable | Thuta Learning