νλ‘ νΈμλ κ°λ°μλ‘ μ ν₯νλ©΄μ λ°±λ¨κ³Ό νλ‘ νΈλ¨ μ¬μ΄μμ μν΅μ μ΄λ€κ² νμν κΉκΆκΈν΄μ μ 리ν΄λ³΄μλ€.
π νλ‘ νΈ & λ°±μλ νμ ν¬μΈνΈ
userId
vs user_id
vs id
)π‘ μμ : μ£Όλ¬Έ μ 보 API νμ
νλͺ© | νλ‘ νΈ μμ² | λ°±μλ μλ΅ |
---|---|---|
μ£Όλ¬Έ λ²νΈ | order_id | orderId |
μ£Όλ¬Έ μν | status | status |
μ¬μ©μ μ 보 | user | { userId, name, email } |
π νλ‘ νΈ & λ°±μλ νμ ν¬μΈνΈ
200
, 400
, 500
λ±)"USER_NOT_FOUND"
, "INVALID_INPUT"
λ±)π‘ μμ : λ‘κ·ΈμΈ API μλ΅ νμ
HTTP μν μ½λ | λ©μμ§ | νλ‘ νΈ μ²λ¦¬ λ°©μ |
---|---|---|
200 OK | { "message": "success", "userId": 123 } | λ‘κ·ΈμΈ μ±κ³΅ |
400 Bad Request | { "error": "INVALID_CREDENTIALS" } | "μμ΄λ λλ λΉλ°λ²νΈκ° μ¬λ°λ₯΄μ§ μμ΅λλ€." |
500 Internal Server Error | { "error": "SERVER_ERROR" } | "μλ² μ€λ₯ λ°μ, λ€μ μλν΄μ£ΌμΈμ." |
π νλ‘ νΈ & λ°±μλ νμ ν¬μΈνΈ
page=1&size=20
)sort=desc
, filter=status:active
)π‘ μμ : μ£Όλ¬Έ λͺ©λ‘ μ‘°ν API νμ
GET /api/orders?page=1&size=20&sort=createdAt,desc
π νλ‘ νΈ & λ°±μλ νμ ν¬μΈνΈ
π‘ μμ : νμ μλ νλ μ κ±° μμ²
{
"orderId": 123,
"user": {
"name": "νκΈΈλ",
"email": "hong@example.com"
},
"items": [
{
"name": "λ
ΈνΈλΆ",
"price": 1500000
}
]
}
π νλ‘ νΈ & λ°±μλ νμ ν¬μΈνΈ
π‘ μμ : μ¬λ¬ κ°μ APIλ₯Ό νλλ‘ ν©μΉκΈ°
{
"orderId": 123,
"user": { "name": "νκΈΈλ", "email": "hong@example.com" },
"items": [
{ "name": "λ
ΈνΈλΆ", "price": 1500000 },
{ "name": "λ§μ°μ€", "price": 30000 }
]
}
π νλ‘ νΈ & λ°±μλ νμ ν¬μΈνΈ
π‘ μμ : μ£Όλ¬Έ μν λ³ν (νλ‘ νΈ vs λ°±μλ νμ)
// λ°±μλ μλ΅ μμ
{ "status": "PENDING_PAYMENT" }
// νλ‘ νΈμμ λ³ν μμ
const statusText = {
"PENDING_PAYMENT": "κ²°μ λκΈ°μ€",
"SHIPPED": "λ°°μ‘ μ€",
"DELIVERED": "λ°°μ‘ μλ£"
};
console.log(statusText["PENDING_PAYMENT"]); // "κ²°μ λκΈ°μ€"
π νλ‘ νΈ & λ°±μλ νμ ν¬μΈνΈ
Authorization
ν€λ μ¬μ©)π‘ μμ : JWT μΈμ¦ λ°©μ
GET /api/user
Authorization: Bearer eyJhbGciOiJIUzI1...
π νλ‘ νΈ & λ°±μλ νμ ν¬μΈνΈ
403 Forbidden
vs 401 Unauthorized
)π‘ μμ : κ΄λ¦¬μ κΆν μ²΄ν¬ API
GET /api/admin/orders
403 Forbidden // κ΄λ¦¬μκ° μλλΌλ©΄ μ΄ μλ΅μ 보λ΄κΈ°
β
API λ°μ΄ν° ꡬ쑰 & νλλͺ
λ§μΆκΈ°
β
νμ΄μ§, μ λ ¬, νν°λ§ λ°©μ μ νκΈ°
β
μλ¬ μ½λ λ° μλ΅ λ©μμ§ ν΅μΌ
β
νλ‘ νΈ vs λ°±μλμμ μ²λ¦¬ν λ‘μ§ λλκΈ°
β
API μμ² κ°μ μ΅μν & μ΅μ ν
β
μΈμ¦ λ° κΆν μ²΄ν¬ λ°©μ νμ