arrow-left

All pages
gitbookPowered by GitBook
1 of 1

Loading...

Protocol Plugin

hashtag
Plugin

ν”ŒλŸ¬κ·ΈμΈμ€ μ„œλΉ„μŠ€ API μŠ€ν‚€λ§ˆμ˜ 포맷과 κΈ°λŠ₯을 ν™•μž₯ν•˜λŠ”λ° μ“°μž…λ‹ˆλ‹€. ν”ŒλŸ¬κ·ΈμΈμ€ μœ„μž„λœ μŠ€ν‚€λ§ˆμ— λŒ€ν•œ 검증, 해석, μž‘λ™ 방식을 μ •μ˜ν•˜κ³  κ΅¬ν˜„ν•©λ‹ˆλ‹€.

각 ν”„λ‘œν† μ½œ ν”ŒλŸ¬κ·ΈμΈμ€ ν•΄λ‹Ή ν”„λ‘œν† μ½œ μŠ€ν‚€λ§ˆμ˜ 양식을 μ •μ˜ν•˜κ³ , μŠ€ν‚€λ§ˆ 병합, μš”μ²­ ν”„λ‘μ‹œ, μ˜μ‘΄μ„± νŒŒμ•…, μ„œλ²„ ν™•μž₯ ν•Έλ“€λŸ¬ 등을 κ΅¬ν˜„ν•©λ‹ˆλ‹€.

각 μ ‘κ·Ό μ œμ–΄ ν”ŒλŸ¬κ·ΈμΈμ€ ν•΄λ‹Ή μ ‘κ·Ό μ œμ–΄ μŠ€ν‚€λ§ˆμ˜ 양식을 μ •μ˜ν•˜κ³ , call, publish, subscribe 컀λ„₯ν„°μ˜ 정책을 ν•΄μ„ν•˜κ³  μ ‘κ·Ό μ œμ–΄λ₯Ό νŒλ‹¨ν•˜λŠ” ν•Έλ“€λŸ¬λ₯Ό κ΅¬ν˜„ν•©λ‹ˆλ‹€.

hashtag
1. Protocol Plugin

ν”„ν† ν† μ½œ ν”ŒλŸ¬κ·ΈμΈλ³„ μŠ€ν‚€λ§ˆ 양식은 μ„Ήμ…˜μ„ μ°Έμ‘°ν•˜μ‹­μ‹œμ˜€. 이 μ„Ήμ…˜μ—μ„œλŠ” κΈ°λ³Έ ν”ŒλŸ¬κ·ΈμΈμ˜ ꡬ동 방식을 κ°œκ΄„μ μœΌλ‘œ μ„€λͺ…ν•©λ‹ˆλ‹€.

hashtag
A. REST

REST ν”„λ‘œν† μ½œμ€ λΆ„μ‚° μ„œλΉ„μŠ€μ— λŒ€ν•œ call, publish 컀λ„₯ν„°λ₯Ό νŠΉμ • μ—”λ“œν¬μΈνŠΈμ— λ§΅ν•‘ν•©λ‹ˆλ‹€. HTTP μš”μ²­μ˜ Paylo,adλŠ” 미듀웨어λ₯Ό 톡해 νŒŒμ‹±λ˜μ–΄ params 컀λ„₯ν„°λ₯Ό 톡해 λ³€ν™˜λ˜μ–΄ call, publish 컀λ„₯ν„°λ‘œ μ „λ‹¬λ©λ‹ˆλ‹€.

μ—”λ“œν¬μΈνŠΈκ°€ μ€‘λ³΅λ˜λŠ” 경우 병합을 λ°œμƒμ‹œν‚¨ 좜처 λ…Έλ“œλ‘œ 디버그 λ©”μ„Έμ§€κ°€ report되며 병합에 μ‹€νŒ¨ν•©λ‹ˆλ‹€.

API Catalogλ₯Ό ν†΅ν•΄μ„œ μ—”λ“œν¬μΈνŠΈ 별 적용된 μ •μ±… 및 컀λ„₯터와 κ·Έ νŒŒλΌλ―Έν„°μ— λŒ€ν•œ μ„€λͺ…을 μ œκ³΅ν•©λ‹ˆλ‹€.

TODO: $headers, $status, $body field for REST response

hashtag
B. GraphQL

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κ°€ ν¬ν•¨λ˜μ–΄μžˆμŠ΅λ‹ˆλ‹€.

hashtag
C. WebSocket

TODO: WIP

hashtag

API Schema