πŸ”΄ Study/πŸ”΄ ITNews(Coding)

IT News #1) MS,API 개발 섀계 μ–Έμ–΄λ‘œ '캐듀' 선택

eyes from es 2022. 12. 26. 21:19
728x90
λ°˜μ‘ν˜•

https://www.codingworldnews.com/news/articleView.html?idxno=14133 

 

MS, API 개발 섀계 μ–Έμ–΄λ‘œ '캐듀' 선택 - μ½”λ”©μ›”λ“œλ‰΄μŠ€

λ§ˆμ΄ν¬λ‘œμ†Œν”„νŠΈ(Microsoft)κ°€ λŒ€λΆ€λΆ„μ˜ API κ°œλ°œμ— OpenAPI μ •μ˜λ‘œ μ»΄νŒŒμΌν•˜κΈ° μ „, ν”„λ‘œκ·Έλž˜λ° λ°©μ‹μœΌλ‘œ API ꡬ쑰λ₯Ό μ •μ˜ν•˜λŠ” 데 도움이 λ˜λŠ” 캐듀(Cadl) μ–Έμ–΄λ₯Ό ν™œμš©ν•˜κ³  μžˆλ‹€. μ†Œν”„νŠΈμ›¨μ–΄ 전문맀체 인

www.codingworldnews.com

Cadl

캐듀 μš©μ–΄μ— λ“€μ–΄κ°€κΈ° μ „, APIκ°€ 무엇인지 μ‚΄νŽ΄λ³΄μž.

API의 μ •μ˜λΆ€ν„° 보면, 'Application Programming Interface'의 μ•½μžλ‘œμ„œ μš΄μ˜μ²΄μ œμ™€ μ‘μš©ν”„λ‘œκ·Έλž¨ μ‚¬μ΄μ˜ 톡신에 μ‚¬μš©λ˜λŠ” μ–Έμ–΄λ‚˜ λ©”μ‹œμ§€ ν˜•μ‹μ„ μ΄μ•ΌκΈ°ν•œλ‹€.

​


κ°€κ²Œμ˜ 점원 같은 μ—­ν• , API

 

λ¨Όμ € APIλž€, 점원은 μ†λ‹˜μ˜ 주문을 λ°›μ•„ μš”λ¦¬μ‚¬μ—κ²Œ μ „λ‹¬ν•˜κ³ , λ°˜λŒ€λ‘œ μš”λ¦¬μ‚¬μ—κ²Œ 받은 μŒμ‹μ„ μ†λ‹˜μ—κ²Œ μ „ν•œλ‹€. μ μ›μ˜ μ—­ν• μ²˜λŸΌ APIλŠ” 쀑간 μ „λ‹¬μžμ˜ 역할은 ν•œλ‹€.

​

μš”λ¦¬μ‚¬μ™€ μ†λ‹˜μ„ 각 μ„œλ²„λΌκ³  ν•œλ‹€λ©΄ APIλŠ” μ€‘κ°„μ—μ„œ μ–‘μͺ½μ˜ μ„œλ²„λ₯Ό μ—°κ²°!!

 

https://m.blog.naver.com/PostView.naver?blogId=kistiscienceon&logNo=222722915536&navType=by 

 

API 뜻? μ˜€ν”ˆ API? μ‰½κ²Œ μ„€λͺ…ν•΄μ€„κ²Œ~

λΉ„μ „κ³΅μžλ„ 이해할 수 μžˆλ„λ‘, API A to Z νŒŒμ•…ν•΄λ³ΌκΉŒμš”? μ—¬λŸ¬λΆ„ API에 λŒ€ν•΄ μ•Œκ³  κ³„μ‹œλ‚˜μš”? AP...

blog.naver.com

 

캐듀 Cadl

캐듀은 .NETκ³Ό 일뢀 μœ μ‚¬ν•œ μžλ°”μŠ€ν¬λ¦½νŠΈμ™€ μœ μ‚¬ν•œ μ–Έμ–΄λ‹€. λ§ˆμ΄ν¬λ‘œμ†Œν”„νŠΈλŠ” C#에 μ΅μˆ™ν•œ μ‚¬λžŒμ΄λΌλ©΄ λˆ„κ΅¬λ‚˜ μ‰½κ²Œ μ‚¬μš©ν•  수 μžˆλ„λ‘ ‘API용 TypeScript’라고 μ„€λͺ…ν–ˆλ‹€. λΉ„μ£Όμ–Ό μŠ€νŠœλ””μ˜€ 및 λΉ„μ£Όμ–Ό μŠ€νŠœλ””μ˜€ μ½”λ“œμ˜ μ–Έμ–΄ μ„œλ²„μ— 캐듀 ν™•μž₯을 μΆ”κ°€ν•΄ κΈ°λ³Έ 제곡 ꡬ문 κ°•μ‘° ν‘œμ‹œ, μ½”λ“œ μ™„μ„±, lintingμ—μ„œ 지원을 받을 수 μžˆλ‹€. 

 

μž₯점

1. λ””μžμΈμ„ 좔상화해, 더 κ°„κ²°ν•œ 좜λ ₯을 제곡

->  λΉ„μ£Όμ–Ό μŠ€νŠœλ””μ˜€μ™€ 같은 ν”Œλž«νΌμ˜ OpenAPI 도ꡬ가 λΉ λ₯΄κ³  효율적으둜 ꡬ문 뢄석 κ°€λŠ₯

2. 캐듀을 μ‚¬μš©ν•˜λ©΄ 50μ€„μ˜ μ½”λ“œλ‘œ 500쀄 OpenAPI μ •μ˜ κ°€λŠ₯

=> μ„€κ³„μžμ™€ κ°œλ°œμžκ°€ APIλ₯Ό κ΅¬μ„±ν•˜κ³  μ œν•œν•˜λŠ” 논리적인 방법이닀.

 

 

μΊλ“€μ—μ„œ API μ •μ˜ μž‘μ„±λ²•

1. 일반적으둜 캐듀 μ½”λ“œμ˜ κΈ°λ³Έ νŒŒμΌμ—μ„œ REST 및 OpenAPI 바인딩을 ν•΄μ•Ό ν•œλ‹€.

μΊλ“€μ—μ„œ ν‚€μ›Œλ“œλŠ” ‘λ°μ½”λ ˆμ΄ν„°’라고 ν•˜λ©° @둜 μ‹œμž‘ν•΄ νŒŒμΌμ„ μ‚¬λžŒμ΄ 읽을 수 μžˆλ„λ‘ ν•œλ‹€. μ •μ˜λŠ” μ„œλΉ„μŠ€ μ •μ˜λ‘œ μ‹œμž‘ν•΄ μ„œλΉ„μŠ€μ— 이름을 μ§€μ •ν•˜κ³  버전 번호λ₯Ό μ§€μ •ν•΄μ•Ό ν•œλ‹€. λ‹€μŒμ— μ—”λ“œν¬μΈνŠΈμ— λŒ€ν•œ URIκ°€ μžˆλŠ” μ„œλ²„ μ •μ˜λ₯Ό μΆ”κ°€ν•  수 μžˆλ‹€. μ „ μ„Έκ³„μ μœΌλ‘œ λΆ„μ‚°λœ μ‹œμŠ€ν…œμ— μœ μš©ν•œ 이 κΈ°λŠ₯은 APIλ₯Ό μ‚¬μš©ν•  수 μžˆλŠ” μ§€μ—­κ³Ό 같은 μΆ”κ°€ λ§€κ°œλ³€μˆ˜λ₯Ό μΆ”κ°€ν•  수 μžˆλ‹€. μ΄λŠ” μ• μ €(Azure)λ₯Ό 염두에 두고 μ„€κ³„λœ κ²ƒμ΄μ§€λ§Œ, μ—¬λŸ¬ μ—”λ“œν¬μΈνŠΈκ°€ μžˆλŠ” λΆ„μ‚° μ‹œμŠ€ν…œμ— μœ μš©ν•˜λ‹€.

2. APIμ—μ„œ μ‚¬μš©ν•˜λŠ” κ²½λ‘œμ™€ λ¦¬μ†ŒμŠ€λ₯Ό μ •μ˜ν•œλ‹€.

κ²½λ‘œλŠ” μ„œλΉ„μŠ€ URI에 μƒλŒ€μ μΈ λ¦¬μ†ŒμŠ€ 경둜이며 API μž‘μ—…μ„ λž˜ν•‘ν•˜λŠ” λ„€μž„μŠ€νŽ˜μ΄μŠ€μ— μ—°κ²°λœλ‹€. μž‘μ—…μ€ μ˜ˆμƒλ˜λŠ” HTTP 동사λ₯Ό μ‚¬μš©ν•˜κ±°λ‚˜ λͺ©λ‘κ³Ό 같은 κΈ°λŠ₯으둜 μ •μ˜λœλ‹€. 이름이 μ‚¬μš©λ˜λŠ” 경우 μ»΄νŒŒμΌλŸ¬λŠ” APIλ₯Ό 생성할 λ•Œ μ μ ˆν•œ 동사λ₯Ό μΆ”κ°€ν•œλ‹€. μ΄λŠ” REST API 호좜의 μš”μ²­ 본문을 μ •μ˜ν•  수 μžˆμœΌλ―€λ‘œ 이λ₯Ό μ‚¬μš©ν•΄ λ³΅μž‘ν•œ API에 JSON을 λ³΄λ‚΄κ±°λ‚˜ 비ꡐ적 기본적인 것에 λŒ€ν•œ κ°„λ‹¨ν•œ ν…μŠ€νŠΈλ₯Ό 보낼 수 μžˆλ‹€.

APIκ°€ 더 λ³΅μž‘ν•  λ•ŒλŠ” μžλ™ 경둜 μ§€μ • μ˜΅μ…˜μ€ λ§€κ°œλ³€μˆ˜λ₯Ό μ‚¬μš©ν•΄ 경둜λ₯Ό 생성할 수 μžˆλ‹€. μ‚¬μš©μž μ΄λ¦„μ΄λ‚˜ IDλ₯Ό κ²½λ‘œμ—μ„œ μ˜ˆμƒν•˜λŠ” API에 μ „λ‹¬ν•˜λŠ” λ•Œλ₯Ό μ˜ˆμ‹œλ‘œ μ–ΈκΈ‰ν•  수 μžˆλ‹€. κ²½λ‘œμ— λ§€κ°œλ³€μˆ˜λ₯Ό μ „λ‹¬ν•˜λŠ” κ²ƒμœΌλ‘œ μ œν•œλ˜μ§€ μ•ŠλŠ”λ‹€.

URL 쿼리둜 μ „λ‹¬ν•˜λŠ” μ˜΅μ…˜μ΄ μžˆλ‹€. κ²°κ³ΌλŠ” Express node.js μ• ν”Œλ¦¬μΌ€μ΄μ…˜ ν”„λ ˆμž„μ›Œν¬ μž‘μ—…μ„ μ—°μƒμ‹œν‚€λŠ” REST APIλ₯Ό μ •μ˜ν•˜λŠ” 비ꡐ적 κ°„λ‹¨ν•œ 방법이닀. 주둜 캐듀이 μ„œλΉ„μŠ€ ν˜ΈμΆœμ„ μœ„ν•œ URL을 κ΅¬μ„±ν•˜κ³  APIλ₯Ό μ½”λ“œλ‘œ μΆ”μƒν™”ν•˜κΈ° λ•Œλ¬Έμ΄λ‹€. 

API μ •μ˜ μž‘μ„±μ€ 캐듀 κΈ°λŠ₯ 쀑 일뢀 κΈ°λŠ₯에 ν•΄λ‹Ήν•œλ‹€. 더 μ€‘μš”ν•œ 것은 APIλ₯Ό μ œκ³΅ν•˜λŠ” 데 μ‚¬μš©ν•΄μ•Ό ν•˜λŠ” ꡬ쑰λ₯Ό μ œκ³΅ν•΄ κ°œλ°œνŒ€μ— API ν‘œμ€€μ„ μ μš©ν•˜λŠ” 것이닀. 캐듀 μ •μ˜ ν‘œμ€€μ„ κ΅¬μΆ•ν•˜κΈ° μœ„ν•œ 핡심 μš”μ†ŒλŠ” 라이브러리λ₯Ό μƒμ„±ν•˜λŠ” 것이닀. 

라이브러리둜 캐듀 μ •μ˜μ˜ ν‘œμ€€μ„ ν™•λ¦½ν•œλ‹€λ©΄, C#κ³Ό 맀우 μœ μ‚¬ν•œ ꡬ문으둜 곡톡 ν•¨μˆ˜μ— λŒ€ν•œ μž¬μ‚¬μš© κ°€λŠ₯ν•œ ν…œν”Œλ¦Ώμ„ 관리할 수 μžˆλ‹€. 또, λ§ˆμ΄ν¬λ‘œμ†Œν”„νŠΈλŠ” 이λ₯Ό μ‚¬μš©ν•΄ μ• μ € API κΈ°λŠ₯을 κ΅¬ν˜„ν•˜λŠ” 방법을 μ‚΄νŽ΄λ³Ό κ°€μΉ˜κ°€ μžˆλ‹€. 

예λ₯Ό λ“€μ–΄, API의 κΈ°λŠ₯을 μžμ„Ένžˆ μ„€λͺ…ν•˜λŠ” REST API ν˜•μ‹μ„ μ •μ˜ν•˜λŠ” 일반 μΈν„°νŽ˜μ΄μŠ€λ₯Ό λ§Œλ“€ 수 μžˆλ‹€. λΌμ΄λΈŒλŸ¬λ¦¬κ°€ 있으면 API μΈν„°νŽ˜μ΄μŠ€λ₯Ό ν™•μž₯ν•΄ 라이브러리 ν…œν”Œλ¦Ώμ„ μ‚¬μš©ν•΄ κ²½λ‘œμ— λ§€ν•‘ν•˜κ³  μ μ ˆν•˜κ²Œ νƒœκ·Έλ₯Ό μ§€μ •ν•  수 μžˆλ‹€. λ‹€μŒμœΌλ‘œ λͺ¨λΈ μ •μ˜λ₯Ό μ‚¬μš©ν•΄ μ˜ˆμƒ 응닡을 λ‚˜μ—΄ν•˜λŠ” APIλ₯Ό μƒμ„±ν•œλ‹€.

 


Comments

ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄κ°€ κ³„μ†ν•΄μ„œ λ‚˜μ˜€κ³  μžˆμ–΄μ„œ λ‹€ 곡뢀해야 ν•˜λ‚˜ 뢀담이 μžˆμ—ˆλŠ”λ°, C#κ³Ό λΉ„μŠ·ν•˜λ‹€κ³  ν•˜λ‹ˆ 닀행이닀.

728x90
λ°˜μ‘ν˜•