πŸ“‹ λͺ¨λ˜ μžλ°”μŠ€ν¬λ¦½νŠΈ Deep Dive | 44μž₯ REST API

waterglassesΒ·2022λ…„ 7μ›” 13일
0
post-thumbnail

λͺ¨λ˜ μžλ°”μŠ€ν¬λ¦½νŠΈ Deep Dive λ„μ„œμ˜ 44μž₯ REST APIλ₯Ό μ •λ¦¬ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

RESTful

RESTλŠ” λ°œν‘œ λ‹Ήμ‹œ 웹이 HTTPλ₯Ό μ œλŒ€λ‘œ μ‚¬μš©ν•˜μ§€ λͺ»ν•˜κ³  μžˆλŠ” 상황을 보고 HTTP의 μž₯점을 μ΅œλŒ€ν•œ ν™œμš©ν•  수 μžˆλŠ” μ•„ν‚€ν…μ²˜λ‘œμ„œ RESTλ₯Ό μ†Œκ°œν–ˆκ³  μ΄λŠ” HTTP ν”„λ‘œν† μ½œμ„ μ˜λ„μ— 맞게 λ””μžμΈν•˜λ„λ‘ μœ λ„ν•˜κ³  μžˆλ‹€. REST의 κΈ°λ³Έ 원칙을 μ„±μ‹€νžˆ 지킨 μ„œλΉ„μŠ€ λ””μžμΈμ„ RESTful이라고 ν‘œν˜„ν–ˆλ‹€.

즉, RESTλŠ” HTTPλ₯Ό 기반으둜 ν΄λΌμ΄μ–ΈνŠΈκ°€ μ„œλ²„μ˜ λ¦¬μ†ŒμŠ€μ— μ ‘κ·Όν•˜λŠ” 방식을 κ·œμ •ν•œ μ•„ν‚€ν…μ²˜κ³ , REST APIλŠ” RESTλ₯Ό 기반으둜 μ„œλΉ„μŠ€ APIλ₯Ό κ΅¬ν˜„ν•œ 것을 μ˜λ―Έν•œλ‹€.

44.1 REST API의 ꡬ성

REST APIλŠ” μžμ›(URI), ν–‰μœ„(HTTP μš”μ²­ λ©”μ„œλ“œ), ν‘œν˜„(νŽ˜μ΄λ‘œλ“œ)의 3가지 μš”μ†Œλ‘œ κ΅¬μ„±λœλ‹€.

44.2 REST API 섀계 원칙

RESTμ—μ„œλŠ” μ•„λž˜ 두가지 κΈ°λ³Έ 원칙을 μ§€μΌœμ•Ό ν•œλ‹€.

1. URIλŠ” λ¦¬μ†ŒμŠ€λ₯Ό ν‘œν˜„ν•΄μ•Ό ν•œλ‹€.

URIλŠ” λ¦¬μ†ŒμŠ€λ₯Ό ν‘œν˜„ν•˜λŠ”λ° 쀑점을 두어야 ν•œλ‹€.
λ¦¬μ†ŒμŠ€λ₯Ό 식별할 수 μžˆλŠ” 이름은 λ™μ‚¬λ³΄λ‹€λŠ” λͺ…사λ₯Ό μ‚¬μš©ν•œλ‹€. λ”°λΌμ„œ 이름에 get 같은 ν–‰μœ„μ— λŒ€ν•œ ν‘œν˜„μ΄ λ“€μ–΄κ°€μ„œλŠ” μ•ˆλœλ‹€.

2. λ¦¬μ†ŒμŠ€μ— λŒ€ν•œ ν–‰μœ„λŠ” HTTP μš”μ²­ λ©”μ„œλ“œλ‘œ ν‘œν˜„ν•œλ‹€.

HTTP μš”μ²­ λ©”μ„œλ“œλŠ” ν΄λΌμ΄μ–ΈνŠΈκ°€ μ„œλ²„μ—κ²Œ μš”μ²­μ˜ μ’…λ₯˜μ™€ λͺ©μ (λ¦¬μ†ŒμŠ€μ— λŒ€ν•œ ν–‰μœ„)을 μ•Œλ¦¬λŠ” 방법이닀. 주둜 5가지 μš”μ²­ λ©”μ„œλ“œ(GET, POST, PUT, PATCH, DELETE λ“±)을 μ‚¬μš©ν•˜μ—¬ CRUDλ₯Ό κ΅¬ν˜„ν•œλ‹€.

Ref

profile
맀 μˆœκ°„ μ„±μž₯ν•˜λŠ” κ°œλ°œμžκ°€ 되렀고 λ…Έλ ₯ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

0개의 λŒ“κΈ€