νλ¬κ·ΈμΈμ μλΉμ€ API μ€ν€λ§μ ν¬λ§·κ³Ό κΈ°λ₯μ νμ₯νλλ° μ°μ λλ€. νλ¬κ·ΈμΈμ μμλ μ€ν€λ§μ λν κ²μ¦, ν΄μ, μλ λ°©μμ μ μνκ³ κ΅¬νν©λλ€.
κ° νλ‘ν μ½ νλ¬κ·ΈμΈμ ν΄λΉ νλ‘ν μ½ μ€ν€λ§μ μμμ μ μνκ³ , μ€ν€λ§ λ³ν©, μμ² νλ‘μ, μμ‘΄μ± νμ , μλ² νμ₯ νΈλ€λ¬ λ±μ ꡬνν©λλ€.
κ° μ κ·Ό μ μ΄ νλ¬κ·ΈμΈμ ν΄λΉ μ κ·Ό μ μ΄ μ€ν€λ§μ μμμ μ μνκ³ , call, publish, subscribe 컀λ₯ν°μ μ μ±
μ ν΄μνκ³ μ κ·Ό μ μ΄λ₯Ό νλ¨νλ νΈλ€λ¬λ₯Ό ꡬνν©λλ€.
νν ν μ½ νλ¬κ·ΈμΈλ³ μ€ν€λ§ μμμ μΉμ μ μ°Έμ‘°νμμμ€. μ΄ μΉμ μμλ κΈ°λ³Έ νλ¬κ·ΈμΈμ ꡬλ λ°©μμ κ°κ΄μ μΌλ‘ μ€λͺ ν©λλ€.
REST νλ‘ν μ½μ λΆμ° μλΉμ€μ λν call, publish 컀λ₯ν°λ₯Ό νΉμ μλν¬μΈνΈμ λ§΅νν©λλ€. HTTP μμ²μ Paylo,adλ λ―Έλ€μ¨μ΄λ₯Ό ν΅ν΄ νμ±λμ΄ params 컀λ₯ν°λ₯Ό ν΅ν΄ λ³νλμ΄ call, publish 컀λ₯ν°λ‘ μ λ¬λ©λλ€.
μλν¬μΈνΈκ° μ€λ³΅λλ κ²½μ° λ³ν©μ λ°μμν¨ μΆμ² λ
Έλλ‘ λλ²κ·Έ λ©μΈμ§κ° reportλλ©° λ³ν©μ μ€ν¨ν©λλ€.
API Catalogλ₯Ό ν΅ν΄μ μλν¬μΈνΈ λ³ μ μ©λ μ μ± λ° μ»€λ₯ν°μ κ·Έ νλΌλ―Έν°μ λν μ€λͺ μ μ 곡ν©λλ€.
TODO: $headers, $status, $body field for REST response
GraphQL νλ‘ν μ½μ λΆμ° μλΉμ€μ λν call λ° publish, subscribe 컀λ₯ν°λ₯Ό νΉμ νμ
μ νλμ λ§΅νν©λλ€. HTTP μμ²μ Payloadλ λ―Έλ€μ¨μ΄λ₯Ό ν΅ν΄ νμ±λμ΄ params 컀λ₯ν°λ₯Ό ν΅ν΄ λ³νλμ΄ call, publish, subscribe, map 컀λ₯ν°λ‘ μ λ¬λ©λλ€.
GraphQL μ€ν€λ§ μμ±μ μ€ν¨νλ κ²½μ° λ³ν©μ λ°μμν¨ μΆμ² λ
Έλλ‘ λλ²κ·Έ λ©μΈμ§κ° reportλλ©° λ³ν©μ μ€ν¨ν©λλ€.
API Catalogλ₯Ό ν΅ν΄μ κ° GraphQL Type λ³ μ μ©λ μ μ± λ° μ»€λ₯ν°μ κ·Έ νλΌλ―Έν°μ λν μ€λͺ μ μ 곡ν©λλ€.
μλΉμ€ API μ€ν€λ§λ₯Ό ν΅ν΄μ GraphQL Custom Scalar μ μλ₯Ό μΆκ° ν μ μμ΅λλ€. Gateway μμ±μ νλ¬κ·ΈμΈ μ΅μ
μ ν΅ν΄ Scalar μ μλ₯Ό μΆκ°νκ±°λ μ€λ²λΌμ΄λ ν μ μμ΅λλ€. κΈ°λ³Έμ μΌλ‘ DateTime, Date, Time, JSONκ° ν¬ν¨λμ΄μμ΅λλ€.
TODO: WIP