HTTP API μΉ μμ©νλ‘κ·Έλ¨μ μμ±ν λ, Postman μ λ§μ΄ μ¬μ©ν©λλ€.
μμ±ν API κ° μ λμνλμ§ ν΄λΌμ΄μΈνΈμμ μ¬μ©νλ κ²κ³Ό λμΌν μμ²μ GUIλ₯Ό ν΅ν΄ μ€νν μ μμ΄ λ§€μ° νΈλ¦¬ν©λλ€.
λ¬΄λ£ μκΈμ λ₯Ό μ¬μ©ν΄λ λ§€μ° λ§μ κΈ°λ₯μ μ 곡ν©λλ€.
λ§μ κΈ°λ₯ μ€ λ°λ³΅λλ κ° - μλ₯Ό λ€λ©΄ κΈ°λ³Έ μ£Όμ -μ μ²λ¦¬νκΈ° μν λ³μ κΈ°λ₯μ μ’μν©λλ€.
λ³μ Variable
μ’ λ₯
λ³μλ κΈλ‘λ², μ½λ μ , νκ²½, λ°μ΄ν°, λ‘컬 λ¨μλ‘ κ΄λ¦¬κ° κ°λ₯ν©λλ€.
μ μ λ³μμ νκ²½ λ³μλ μ€λ₯Έμͺ½ μ λ²νΌμ ν΄λ¦νλ©΄ κ΄λ¦¬ νλ©΄μ μ°Ύμ μ μμ΅λλ€.
μ½λ μ λ³μλ μ½λ μ νΈμ§ νλ©΄μμ μ°Ύμ μ μμ΅λλ€.
μ¬μ©
HTTP API λ κΈ°λ³Έμ μΌλ‘ νλμ κΈ°λ₯μ΄ νλμ URIλ₯Ό κ°μ΅λλ€.
μΈμ¦μ²λ¦¬λ₯Ό νλ URI
POST https://your-service.com/api/signin
{
"username": "<your username>",
"password": "<your password>"
}
맀μ₯ μ 보λ₯Ό μμ²νλ URI
GET https://your-service.com/api/stores
Authorization Bearer <your token>
Postman μ μ¬μ©νλ©΄ λ³΄ν΅ νλ²λ§ μμ±ν ν μ μ₯νλ©΄, λ€μ λΆλ¬μ μ¬μ©ν μ μμ΅λλ€.
κ·Έλ°λ°, λμΌν APIλ₯Ό ν μ€νΈ μλ² λμ, μ€ν μ΄μ§ μλ² λμ, νλ‘λμ μλ² λμμΌλ‘ ν μ€νΈλ₯Ό μ§ννλ €κ³ νλ©΄ μ£Όμ μλΆλΆλ§ λ€λ₯΄κ³ λλ¨Έμ§ λΆλΆμ΄ λμΌν μ μμ΅λλ€.
ν΄λΉ μλ리μ€λ νκ²½ λ³μλ₯Ό μ¬μ©νλ κ²μ΄ λ μ’κ² μ΅λλ€.
μμ URI μ https://your-service.com
λΆλΆμ΄ λ€λ₯Ό κ²μ
λλ€.
μ½λ μ νΈμ§ νλ©΄μ μ΄κ³ λ³μ νμμ μλ μ΄λ―Έμ§μ κ°μ΄ λ³μλ₯Ό μΆκ°ν©λλ€.
κΈ°λ³Έμ£Όμλ₯Ό
http://localhost:3000
μΌλ‘ μ€μ ν©λλ€.
μμ
ν
μ€νΈ λμ μΉ μμ©νλ‘κ·Έλ¨μ κΈ°λ³Έμ£Όμλ http://localhost:3000
μ
λλ€.
/api/signin
λμ μΌλ‘ POST μμ²μ νλ©΄ token λ°μ΄ν°λ₯Ό μ»μ μ μμ΅λλ€.
/api/stores
λμ μΌλ‘ μμ² ν€λμ Bearer μΈμ¦μ μΆκ°ν΄μ GET μμ²μ νλ©΄ μ¬μ©μμ 맀μ₯ μ 보λ₯Ό μ»μ μ μμ΅λλ€.
POST /api/signin
{
username,
password
}
GET /api/stores
Authorization Bearer
Postman 컬λ μ νΈμ§ μλμ°λ₯Ό μ΄κ³ , μλ λ³μ νλͺ©μ μΆκ°ν©λλ€.
μ΄λ¦ | μ΄κΈ°κ° | νμ¬κ° |
---|---|---|
baseurl | http://localhost:3000 | |
token |
Postman μ νμ¬ μ»¬λ μ μ signin μμ²μ μΆκ°ν©λλ€.
μμ² URLμ {{baseurl}}/api/signin
μ μ
λ ₯ν©λλ€.
μλ΅μμ token λ³μμ κ°μ μ€μ νκΈ° μν΄ Tests νμΌλ‘ μ΄λν©λλ€.
pm.test('call', ()=> {
var jsonData = JSON.parse(responseBody);
if(jsonData){
if(jsonData.success){
if(jsonData.data){
const token = jsonData.data.token;
pm.environment.set("token", token); // token λ³μμ κ°μ μ€μ
}
}
}
});
Test νμ μ€λ₯Έμͺ½μ μ½λ μ‘°κ°μ΄ μ 곡λ©λλ€.
μ΄μ /api/signin
λμ μΌλ‘ μμ²μ 보λ΄λ©΄ μλ΅ λ°μ΄ν°μμ token μ μ°Ύμ μ μμΌλ©΄ ν ν° λ³μμ κ°μ΄ μ€μ λ©λλ€.
Postman μ νμ¬ μ»¬λ μ μ get stores μμ²μ μΆκ°ν©λλ€.
μμ² URLμ {{baseurl}}/api/stores
λ₯Ό μ
λ ₯ν©λλ€.
Authorization νμμ μΈμ¦ νμμ Bearer Token μΌλ‘ μ ννκ³ ν ν°μ κ°μ λ³μλ₯Ό μ¬μ©ν κ²μ΄λ―λ‘ {{token}}
μ μ
λ ₯ν©λλ€.
μ€λΉλ₯Ό λ§μ³€μ΅λλ€.
Signin μμ²μ λ¨Όμ μ€νν΄μ ν ν°μ μ»κ³ , Get stores μμ²μ μ€ννλ©΄ μ΄μ Signin μμ²μμ μ»μ ν ν°μ μμ² ν€λ μΈμ¦ κ°μΌλ‘ μ¬μ©λ©λλ€.
κ·Έλ¦¬κ³ , ν μ€νΈ μλ²μ κΈ°λ³Έ μ£Όμκ° λ³κ²½λλ©΄ 컬λ μ λ³μμ κ°λ§ λ³κ²½νλ©΄ ν΄λΉ 컬λ μ λ΄μ μμ²μ΄ λ³κ²½λ κΈ°λ³Έμ£Όμλ₯Ό μ°Έμ‘°ν κ² μ λλ€.
μ€λ₯ μ μ
2019-11-03 νμ¬ μ»¬λ μ λ³μλ μ€ν¬λ¦½νΈ νκ²½ Pre-request Script, Tests μμ μ°κΈ°λ₯Ό μ§μνμ§ μμ΅λλ€.
μ€ν¬λ¦½νΈλ‘ λ³μ κ° μ°κΈ°λ₯Ό νλ €λ©΄ μ μ λ³μ λλ νκ²½ λ³μλ₯Ό μ¬μ©ν΄μΌ ν©λλ€.
μ μλ³μ μ°κΈ°
pm.globals.set("token", token);
νκ²½λ³μ μ°κΈ°
pm.environment.set("token", token);