@api λ°μ½λ μ΄ν°
@api λ°μ½λ μ΄ν°λ μ΄λ»κ² μ¬μ©νλμ?
@api λ°μ½λ μ΄ν°λ μ΄λ»κ² μ¬μ©νλμ?
@api λ°μ½λ μ΄ν°λ₯Ό Modelμ΄λ Frame ν΄λμ€μ λ©μλμ λΆμ¬ REST API μλν¬μΈνΈλ₯Ό μμ±ν©λλ€.κΈ°λ³Έ μ¬μ©:@api λ°μ½λ μ΄ν°μ μ΅μ
λ€μ 무μμΈκ°μ?
@api λ°μ½λ μ΄ν°μ μ΅μ λ€μ 무μμΈκ°μ?
httpMethod (νμ):guards (μΈμ¦/κΆν):path (컀μ€ν
κ²½λ‘):
κ³΅κ° API λ§λ€κΈ°:
guards μ΅μ
μ μλ΅νλ©΄ μΈμ¦ μμ΄ λꡬλ μ κ·Όν μ μλ κ³΅κ° APIκ° λ©λλ€.
λ‘κ·ΈμΈμ΄λ κΆν 체ν¬κ° νμ μλ κ²½μ°μ μ¬μ©νμΈμ.GET μμ²μμ νλΌλ―Έν°λ₯Ό λ°μΌλ €λ©΄?
GET μμ²μμ νλΌλ―Έν°λ₯Ό λ°μΌλ €λ©΄?
쿼리 νλΌλ―Έν° (λ¨μΌ κ°):쿼리 νλΌλ―Έν° (κ°μ²΄):
POST μμ²μμ bodyλ₯Ό λ°μΌλ €λ©΄?
POST μμ²μμ bodyλ₯Ό λ°μΌλ €λ©΄?
λ¨μΌ κ°μ²΄:λ€μ€ νλΌλ―Έν°:
νμΌ μ
λ‘λ APIλ₯Ό λ§λ€λ €λ©΄?
νμΌ μ λ‘λ APIλ₯Ό λ§λ€λ €λ©΄?
@upload λ°μ½λ μ΄ν°λ @api μμ΄ λ
립μ μΌλ‘ μ¬μ©ν©λλ€.λ¨μΌ νμΌ:Contextμ μΈμ
νμ¬ λ‘κ·ΈμΈν μ¬μ©μ μ 보λ₯Ό κ°μ Έμ€λ €λ©΄?
νμ¬ λ‘κ·ΈμΈν μ¬μ©μ μ 보λ₯Ό κ°μ Έμ€λ €λ©΄?
Contextμλ μ΄λ€ μ λ³΄κ° μλμ?
Contextμλ μ΄λ€ μ λ³΄κ° μλμ?
userId/ip/userAgentλ Contextμ μ΅μμ μμ±μ΄ μλλλ€. κ°κ° context.user?.id,
context.request.ip, context.headers["user-agent"]λ‘ μ κ·ΌνμΈμ.μΈμ
μ μ¬μ©νλ €λ©΄?
μΈμ μ μ¬μ©νλ €λ©΄?
μΈμ
μ€μ :μΈμ
μ μ₯:μΈμ
μ‘°ν:μΈμ
μμ :
μΈμ¦κ³Ό κΆν
Guardsλ₯Ό μ¬μ©νμ¬ κΆνμ μ μ΄νλ €λ©΄?
Guardsλ₯Ό μ¬μ©νμ¬ κΆνμ μ μ΄νλ €λ©΄?
Guard μ€μ :Guard μ¬μ©:
μλ΅ νμ
API μλ΅μ 컀μ€ν°λ§μ΄μ§νλ €λ©΄?
API μλ΅μ 컀μ€ν°λ§μ΄μ§νλ €λ©΄?
κΈ°λ³Έ μλ΅:컀μ€ν
μλ΅:ν€λ μ€μ :
νμ΄μ§λ€μ΄μ
μλ΅μ λ°ννλ €λ©΄?
νμ΄μ§λ€μ΄μ μλ΅μ λ°ννλ €λ©΄?
ListResult μ¬μ©:
νλ‘ νΈμλ μ°λ
μλ μμ±λ ν΄λΌμ΄μΈνΈ μ½λλ₯Ό μ¬μ©νλ €λ©΄?
μλ μμ±λ ν΄λΌμ΄μΈνΈ μ½λλ₯Ό μ¬μ©νλ €λ©΄?
μλΉμ€ νμΌ μλ μμ±:Model νμΌμ΄ λ³κ²½λλ©΄ Reactμμ μ¬μ©:TanStack Query hook μ¬μ©:
{entity}.service.tsκ° μλμΌλ‘ μμ±λ©λλ€.