Custom decorators
Custom route decorators
Nestλ decoratorsλΌλ μΈμ΄ κΈ°λ₯μ μ€μ¬μΌλ‘ ꡬμΆλμμ΅λλ€. λ°μ½λ μ΄ν°λ μΌλ°μ μΌλ‘ μ¬μ©λλ λ§μ νλ‘κ·Έλλ° μΈμ΄μμ μ μλ €μ§ κ°λ μ΄μ§λ§ JavaScript μΈκ³μμλ μ¬μ ν λΉκ΅μ μλ‘μ΄ κ°λ μ λλ€. λ°μ½λ μ΄ν°μ μλ λ°©μμ λ μ μ΄ν΄νλ €λ©΄ μ΄ κΈ°μ¬λ₯Ό μ½λ κ²μ΄ μ’μ΅λλ€. κ°λ¨ν μ μλ λ€μκ³Ό κ°μ΅λλ€.
ES2016 λ°μ½λ μ΄ν°λ ν¨μλ₯Ό λ°ννκ³ λμ, μ΄λ¦ λ° μμ± μ€λͺ μλ₯Ό μΈμλ‘ μ¬μ©ν μμλ ννμμ λλ€. λ°μ½λ μ΄ν° μμ
@
λ¬Έμλ₯Ό λΆμ¬ μ₯μνλ €λ 맨 μμ λ°°μΉνμ¬ μ μ©ν©λλ€. ν΄λμ€ λλ μμ±μ λν΄ λ°μ½λ μ΄ν°λ₯Ό μ μ ν μ μμ΅λλ€.
Param decorators
Nestλ HTTP λΌμ°νΈ νΈλ€λ¬μ ν¨κ» μ¬μ©ν μ μλ μ μ©ν νλΌλ―Έν° λ°μ½λ μ΄ν° μΈνΈλ₯Ό μ 곡ν©λλ€. μλλ μ 곡λ λ°μ½λ μ΄ν°μ μ΄λ€μ΄ λνλ΄λ μΌλ° Express (λλ Fastify) κ°μ²΄μ λͺ©λ‘μ λλ€.
@Request()
req
@Response()
res
@Next()
next
@Session()
req.session
@Param(param?: string)
req.params
/ req.params[param]
@Body(param?: string)
req.body
/ req.body[param]
@Query(param?: string)
req.query
/ req.query[param]
@Headers(param?: string)
req.headers
/ req.headers[param]
λν μμ λ§μ μ¬μ©μ μ μ λ°μ½λ μ΄ν°λ₯Ό λ§λ€ μ μμ΅λλ€. μ΄κ²μ΄ μ μ μ©νκ°μ?
node.js μΈκ³μμλ μμ² κ°μ²΄μ μμ±μ μ°κ²°νλ κ²μ΄ μΌλ°μ μ λλ€. κ·Έλ° λ€μ λ€μκ³Ό κ°μ μ½λλ₯Ό μ¬μ©νμ¬ κ° κ²½λ‘ νΈλ€λ¬μμ μλμΌλ‘ μΆμΆνμμμ€.
μ½λλ₯Ό μ½κΈ° μ½κ³ ν¬λͺ
νκ² λ§λ€κΈ° μν΄ @User()
λ°μ½λ μ΄ν°λ₯Ό λ§λ€μ΄ λͺ¨λ 컨νΈλ‘€λ¬μμ μ¬ μ¬μ©ν μ μμ΅λλ€.
Then, you can simply use it wherever it fits your requirements.
Passing data
λ°μ½λ μ΄ν°μ λμμ΄ μΌλΆ 쑰건μ μμ‘΄νλ κ²½μ° data
λ§€κ° λ³μλ₯Ό μ¬μ©νμ¬ λ°μ½λ μ΄ν°μ ν©ν 리 ν¨μμ μΈμλ₯Ό μ λ¬ν μ μμ΅λλ€. μ΄λ₯Ό μν ν κ°μ§ μ μ€ μΌμ΄μ€λ ν€λ‘ μμ² μ€λΈμ νΈμμ νΉμ±μ μΆμΆνλ μ¬μ©μ μ μ λ°μ½λ μ΄ν°μ
λλ€. μλ₯Ό λ€μ΄ μΈμ¦ κ³μΈ΅μ΄ μμ²μ μ ν¨μ±μ κ²μ¬νκ³ μ¬μ©μ κ°μ²΄λ₯Ό μμ² κ°μ²΄μ μ°κ²°νλ€κ³ κ°μ ν©λλ€. μΈμ¦λ μμ²μ μ¬μ©μ μν°ν°λ λ€μκ³Ό κ°μ΅λλ€.
μμ± μ΄λ¦μ ν€λ‘ μ¬μ©νλ λ°μ½λ μ΄ν°λ₯Ό μ μνκ³ , μ‘΄μ¬νλ κ²½μ° (λλ μ‘΄μ¬νμ§ μλ κ²½μ° λλ μ¬μ©μ
κ°μ²΄κ° μμ±λμ§ μμ κ²½μ°μλ μ μλμ§ μμ) μ°κ΄λ κ°μ λ°νν©λλ€.
컨νΈλ‘€λ¬μμ @User()
λ°μ½λ μ΄ν°λ₯Ό ν΅ν΄ νΉμ μμ±μ μ‘μΈμ€νλ λ°©λ²μ λ€μκ³Ό κ°μ΅λλ€.
μ΄ ν€λ₯Ό λ€λ₯Έ ν€μ ν¨κ» μ¬μ©νμ¬ λ€λ₯Έ μμ±μ μ‘μΈμ€ ν μ μμ΅λλ€. user
κ°μ²΄κ° κΉκ±°λ 볡μ‘ν κ²½μ°, λ μ½κ³ μ½κΈ° μ¬μ΄ μμ² νΈλ€λ¬ ꡬνμ λ§λ€ μ μμ΅λλ€.
Working with pipes
Nestλ λ΄μ₯ λ§€κ° λ³μ (@Body()
, @Param()
λ° @Query()
)μ λμΌν λ°©μμΌλ‘ μ¬μ©μ μ μ λ§€κ° λ³μ λ°μ½λ μ΄ν°λ₯Ό μ²λ¦¬ν©λλ€. μ΄λ 컀μ€ν
μ£Όμ λ§€κ° λ³μ (μ΄ μμ μμλ user
μΈμ)μ λν΄μλ νμ΄νκ° μ€νλ¨μ μλ―Έν©λλ€. λν νμ΄νλ₯Ό μ¬μ©μ μ μ λ°μ½λ μ΄ν°μ μ§μ μ μ© ν μ μμ΅λλ€.
Last updated
Was this helpful?