API
APIλ Application Programming Interfaceμ μ½μλ‘ λ μννΈμ¨μ΄μ κ΅¬μ± μμκ° μλ‘ ν΅μ ν μ μκ² νλ μΌμ’
μ μνμ '창ꡬ' μν μ νλ λ©μ»€λμ¦μ
λλ€.
APIμ λ§₯λ½μμ μ ν리μΌμ΄μ
μ΄λΌλ λ¨μ΄λ κ³ μ ν κΈ°λ₯μ κ°μ§ λͺ¨λ μννΈμ¨μ΄λ₯Ό λνλ
λλ€. μΈν°νμ΄μ€λ λ μ ν리μΌμ΄μ
κ°μ μλΉμ€ κ³μ½μ΄λΌκ³ ν μ μμ΅λλ€. μ΄ κ³μ½μ μμ²κ³Ό μλ΅μ μ¬μ©νμ¬ λ μ ν리μΌμ΄μ
μ΄ μλ‘ ν΅μ νλ λ°©λ²μ μ μν©λλ€. API λ¬Έμμλ κ°λ°μκ° μ΄λ¬ν μμ²κ³Ό μλ΅μ ꡬμ±νλ λ°©λ²μ λν μ λ³΄κ° λ€μ΄ μμ΅λλ€. μ¦, μννΈμ¨μ΄ κ° ν΅μ ν λ μΌμ’
μ κ·μ½ λ΄μ§λ μ§μΉ¨μ
λλ€.
APIκ° μμ±λ μκΈ°μ μ΄μ μ λ°λΌ APIλ λ€ κ°μ§ λ°©μμΌλ‘ μλν μ μμ΅λλ€.
SOAP API
μ΄ APIλ λ¨μ κ°μ²΄ μ κ·Ό νλ‘ν μ½μ μ¬μ©ν©λλ€. ν΄λΌμ΄μΈνΈμ μλ²λ XMLμ μ¬μ©νμ¬ λ©μμ§λ₯Ό κ΅νν©λλ€. κ³Όκ±°μ λ λ§μ΄ μ¬μ©λμμΌλ©° μ μ°μ±μ΄ λ¨μ΄μ§λ APIμ λλ€.
RPC API
μ΄ APIλ₯Ό μ격 νλ‘μμ νΈμΆμ΄λΌκ³ ν©λλ€. ν΄λΌμ΄μΈνΈκ° μλ²μμ ν¨μλ νλ‘μμ λ₯Ό μλ£νλ©΄ μλ²κ° μΆλ ₯μ ν΄λΌμ΄μΈνΈλ‘ λ€μ μ μ‘ν©λλ€.
Websocket API
Websocket APIλ JSON κ°μ²΄λ₯Ό μ¬μ©νμ¬ λ°μ΄ν°λ₯Ό μ λ¬νλ λ λ€λ₯Έ μ΅μ μΉ API κ°λ°μ λλ€. WebSocket APIλ ν΄λΌμ΄μΈνΈ μ±κ³Ό μλ² κ°μ μλ°©ν₯ ν΅μ μ μ§μν©λλ€. μλ²κ° μ°κ²°λ ν΄λΌμ΄μΈνΈμ μ½λ°± λ©μμ§λ₯Ό μ μ‘ν μ μμ΄ REST APIλ³΄λ€ ν¨μ¨μ μ λλ€.
REST API
μ€λλ μΉμμ λ³Ό μ μλ κ°μ₯ λ§μ΄ μ¬μ©λκ³ μ μ°ν APIμ λλ€. ν΄λΌμ΄μΈνΈκ° μλ²μ μμ²μ λ°μ΄ν°λ‘ μ μ‘ν©λλ€. μλ²κ° μ΄ ν΄λΌμ΄μΈνΈ μ λ ₯μ μ¬μ©νμ¬ λ΄λΆ ν¨μλ₯Ό μμνκ³ μΆλ ₯ λ°μ΄ν°λ₯Ό λ€μ ν΄λΌμ΄μΈνΈμ λ°νν©λλ€.
REST APIλ?
RESTλ Representational State Transferμ μ€μλ§μ λλ€. RESTλ ν΄λΌμ΄μΈνΈκ° μλ² λ°μ΄ν°μ μ‘μΈμ€νλ λ° μ¬μ©ν μ μλ GET, PUT, DELETE λ±μ ν¨μ μ§ν©μ μ μν©λλ€. ν΄λΌμ΄μΈνΈμ μλ²λ HTTPλ₯Ό μ¬μ©νμ¬ λ°μ΄ν°λ₯Ό κ΅νν©λλ€.
REST APIμ μ£Όλ νΉμ§μ 무μνμ λλ€. 무μνλ μλ²κ° μμ² κ°μ ν΄λΌμ΄μΈνΈ λ°μ΄ν°λ₯Ό μ μ₯νμ§ μμμ μλ―Έν©λλ€. μλ²μ λν ν΄λΌμ΄μΈνΈ μμ²μ μΉ μ¬μ΄νΈλ₯Ό λ°©λ¬ΈνκΈ° μν΄ λΈλΌμ°μ μ μ λ ₯νλ URLκ³Ό μ μ¬ν©λλ€. μλ²μ μλ΅μ μΉ νμ΄μ§μ μΌλ°μ μΈ κ·Έλν½ λ λλ§μ΄ μλ μΌλ° λ°μ΄ν°μ λλ€.
WEB APIλ?
μΉ API λλ μΉ μλΉμ€ APIλ μΉ μλ²μ μΉ λΈλΌμ°μ κ°μ μ ν리μΌμ΄μ μ²λ¦¬ μΈν°νμ΄μ€μ λλ€. λͺ¨λ μΉ μλΉμ€λ APIμ΄μ§λ§ λͺ¨λ APIκ° μΉ μλΉμ€λ μλλλ€. REST APIλ μμμ μ€λͺ ν νμ€ μν€ν μ² μ€νμΌμ μ¬μ©νλ νΉμν μ νμ μΉ APIμ λλ€.
μμ¬μ μΌλ‘ APIκ° μλ μμ΄λ μΉ μ μ λ§λ€μ΄μ‘κΈ° λλ¬Έμ Java API, μλΉμ€ API λ± APIμ λν λ€μν μ©μ΄κ° μ‘΄μ¬ν©λλ€. μ΅μ μΉ APIλ REST APIμ΄λ©° μ©μ΄λ μλ‘ λ°κΏ μ¬μ©ν μ μμ΅λλ€.
REST APIμ μ₯μ
- ν΅ν©
APIλ μλ‘μ΄ μ ν리μΌμ΄μ μ κΈ°μ‘΄ μννΈμ¨μ΄ μμ€ν κ³Ό ν΅ν©νλ λ° μ¬μ©λ©λλ€. κ·Έλ¬λ©΄ κ° κΈ°λ₯μ μ²μλΆν° μμ±ν νμκ° μκΈ° λλ¬Έμ κ°λ° μλκ° λΉ¨λΌμ§λλ€. APIλ₯Ό μ¬μ©νμ¬ κΈ°μ‘΄ μ½λλ₯Ό νμ©ν μ μμ΅λλ€. - νμ
μλ‘μ΄ μ±μ λ±μ₯μΌλ‘ μ 체 μ°μ μ΄ λ°λ μ μμ΅λλ€. κΈ°μ μ μ μνκ² λμνκ³ νμ μ μΈ μλΉμ€μ μ μν λ°°ν¬λ₯Ό μ§μν΄μΌ ν©λλ€. μ 체 μ½λλ₯Ό λ€μ μμ±ν νμ μμ΄ API μμ€μμ λ³κ²½νμ¬ μ΄λ₯Ό μνν μ μμ΅λλ€. - νμ₯
APIλ κΈ°μ μ΄ λ€μν νλ«νΌμμ κ³ κ°μ μꡬ μ¬νμ μΆ©μ‘±ν μ μλ κ³ μ ν κΈ°νλ₯Ό μ 곡ν©λλ€. μλ₯Ό λ€μ΄ μ§λ APIλ₯Ό μ¬μ©νλ©΄ μΉ μ¬μ΄νΈ, Android, iOS λ±μ ν΅ν΄ μ§λ μ 보λ₯Ό ν΅ν©ν μ μμ΅λλ€. μ΄λ κΈ°μ μ΄λ λ¬΄λ£ λλ μ λ£ APIλ₯Ό μ¬μ©νμ¬ λ΄λΆ λ°μ΄ν°λ² μ΄μ€μ μ μ¬ν μ‘μΈμ€ κΆνμ λΆμ¬ν μ μμ΅λλ€. - μ μ§ κ΄λ¦¬μ μ©μ΄μ±
APIλ λ μμ€ν κ°μ κ²μ΄νΈμ¨μ΄ μν μ ν©λλ€. APIκ° μν₯μ λ°μ§ μλλ‘ κ° μμ€ν μ λ΄λΆμ μΌλ‘ λ³κ²½ν΄μΌ ν©λλ€. μ΄λ κ² νλ©΄ ν μμ€ν μ ν₯ν μ½λ λ³κ²½μ΄ λ€λ₯Έ μμ€ν μ μν₯μ λ―ΈμΉμ§ μμ΅λλ€.
Reference
'π₯ Front-End > Web' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Web] λͺ¨λ Έλ ν¬(Mono Repo) (0) | 2022.12.06 |
---|---|
[Web] JWT (0) | 2022.07.19 |