κ°λ ₯νκ³ νμ₯ κ°λ₯νλ©° μ μ§ κ΄λ¦¬κ° μ©μ΄ν APIλ₯Ό μν νμ API λ²μ κ΄λ¦¬ μ λ΅μ μ΄ν΄λ³΄μΈμ. μ΄μ λ²μ κ³Όμ νΈνμ±, μ¬λ°λ₯Έ μ κ·Ό λ°©μ μ ν, λ³κ²½ μ¬ν ν¨κ³Όμ μΌλ‘ μ λ¬νλ λ°©λ²μ λν λͺ¨λ² μ¬λ‘λ₯Ό μμ보μΈμ.
API λ²μ κ΄λ¦¬ μ λ΅: κΈλ‘λ² κ°λ°μλ₯Ό μν μ’ ν© κ°μ΄λ
API(Application Programming Interfaces)λ μ΅μ μννΈμ¨μ΄ κ°λ°μ μ€μΆλ‘μ, μλ‘ λ€λ₯Έ μμ€ν κ°μ μνν ν΅μ λ° λ°μ΄ν° κ΅νμ κ°λ₯νκ² ν©λλ€. μ ν리μΌμ΄μ μ΄ λ°μ νκ³ μꡬ μ¬νμ΄ λ³κ²½λ¨μ λ°λΌ APIλ λΆκ°νΌνκ² μ λ°μ΄νΈκ° νμν©λλ€. κ·Έλ¬λ λ³κ²½ μ¬νμ΄ λ°μνλ©΄ κΈ°μ‘΄ ν΄λΌμ΄μΈνΈμ μ§μ₯μ μ£Όκ³ ν΅ν© λ¬Έμ λ₯Ό μΌκΈ°ν μ μμ΅λλ€. API λ²μ κ΄λ¦¬λ μ΄λ¬ν λ³κ²½ μ¬νμ κ΄λ¦¬νλ ꡬ쑰νλ λ°©μμ μ 곡νμ¬ κ°λ°μμκ² μνν μ νμ 보μ₯νκ³ κΈ°μ‘΄ μ ν리μΌμ΄μ μ νΈνμ±μ μ μ§ν©λλ€.
API λ²μ κ΄λ¦¬κ° μ€μν μ΄μ
API λ²μ κ΄λ¦¬λ λ€μκ³Ό κ°μ μ¬λ¬ κ°μ§ μ΄μ λ‘ μ€μν©λλ€.
- μ΄μ λ²μ κ³Όμ νΈνμ±: APIκ° λ°μ νλλΌλ κΈ°μ‘΄ ν΄λΌμ΄μΈνΈκ° μμ μμ΄ κ³μ μλνλλ‘ νμ©ν©λλ€.
- μ΄ν λ²μ νΈνμ±(λ μΌλ°μ ): ν₯ν λ³κ²½ μ¬νμ μμνμ¬ μ΄μ ν΄λΌμ΄μΈνΈκ° λ¬Έμ μμ΄ μ΅μ API λ²μ κ³Ό μνΈ μμ©ν μ μλλ‘ μ€κ³λμμ΅λλ€.
- μ μ΄λ μ§ν: μλ‘μ΄ κΈ°λ₯ λμ , λ²κ·Έ μμ , μ±λ₯ κ°μ μ μν μ μ΄λ νκ²½μ μ 곡ν©λλ€.
- λͺ νν μμ¬ μν΅: κ°λ°μμκ² λ³κ²½ μ¬νμ μλ¦¬κ³ μ΅μ λ²μ μΌλ‘ λ§μ΄κ·Έλ μ΄μ νκΈ° μν λ‘λλ§΅μ μ 곡ν©λλ€.
- λ€μ΄νμ κ°μ: API μ λ°μ΄νΈ μ€ κΈ°μ‘΄ μ ν리μΌμ΄μ μ λν μ€λ¨μ μ΅μνν©λλ€.
- ν₯μλ κ°λ°μ κ²½ν: κ°λ°μκ° μμ μ μ΄κ³ μμΈ‘ κ°λ₯ν APIλ‘ μμ ν μ μλλ‘ ν©λλ€.
μ μ ν λ²μ κ΄λ¦¬κ° μμΌλ©΄ API λ³κ²½μΌλ‘ μΈν΄ κΈ°μ‘΄ ν΅ν©μ΄ μ€λ¨λμ΄ κ°λ°μμ λΆλ§, μ ν리μΌμ΄μ μ€λ₯, κΆκ·Ήμ μΌλ‘ λΉμ¦λμ€μ λΆμ μ μΈ μν₯μ λ―ΈμΉ μ μμ΅λλ€. μ μΈκ³μ μΌλ‘ μ¬μ©λλ κ²°μ κ²μ΄νΈμ¨μ΄κ° μ μ ν λ²μ κ΄λ¦¬ μμ΄ κ°μκΈ° APIλ₯Ό λ³κ²½νλ μλ리μ€λ₯Ό μμν΄ λ³΄μμμ€. ν΄λΉ κ²μ΄νΈμ¨μ΄μ μμ‘΄νλ μμ² κ°μ μ μ μκ±°λ μ¬μ΄νΈκ° μ¦μ κ²°μ μ²λ¦¬ μ€ν¨λ₯Ό κ²½ννμ¬ μλΉν κΈμ μ μμ€κ³Ό νν μμμ μ΄λν μ μμ΅λλ€.
μΌλ°μ μΈ API λ²μ κ΄λ¦¬ μ λ΅
API λ²μ κ΄λ¦¬λ₯Ό μν λͺ κ°μ§ μ λ΅μ΄ μμΌλ©°, κ°κ° κ³ μ ν μ₯μ κ³Ό λ¨μ μ΄ μμ΅λλ€. μ¬λ°λ₯Έ μ λ΅μ μ ννλ κ²μ νΉμ μꡬ μ¬ν, APIμ νΉμ± λ° λμ κ³ κ°μ λ°λΌ λ¬λΌμ§λλ€.
1. URI λ²μ κ΄λ¦¬
URI λ²μ κ΄λ¦¬λ API μλν¬μΈνΈ URLμ λ²μ λ²νΈλ₯Ό μ§μ ν¬ν¨μν€λ κ²μ ν¬ν¨ν©λλ€. μ΄λ κ°μ₯ μΌλ°μ μ΄κ³ κ°λ¨ν μ κ·Ό λ°©μ μ€ νλμ λλ€.
μμ:
GET /api/v1/users
GET /api/v2/users
μ₯μ :
- ꡬννκ³ μ΄ν΄νκΈ° μ½μ΅λλ€.
- μ¬μ© μ€μΈ API λ²μ μ λͺ ννκ² λνλ λλ€.
- APIμ μ¬λ¬ λ²μ μ λν μμ²μ λΌμ°ν νκΈ° μ½μ΅λλ€.
λ¨μ :
- λ²μ λ²νΈλ§ λ€λ₯Έ κ²½μ° μ€λ³΅λ URLμ μμ±ν μ μμ΅λλ€.
- 리μμ€μ IDμ μΌλΆκ° μλ λ²μ λ²νΈκ° μλ ν΄λ¦° URL μμΉμ μλ°ν©λλ€.
2. ν€λ λ²μ κ΄λ¦¬
ν€λ λ²μ κ΄λ¦¬λ API λ²μ μ μ§μ νκΈ° μν΄ μ¬μ©μ μ§μ HTTP ν€λλ₯Ό μ¬μ©ν©λλ€. μ΄ μ κ·Ό λ°©μμ URLμ λ κΉ¨λνκ² μ μ§νκ³ HTTPμ μ½ν μΈ νμ μΈ‘λ©΄μ μ€μ μ λ‘λλ€.
μμ:
GET /api/users
Accept: application/vnd.example.v1+json
λλ μ¬μ©μ μ§μ ν€λ μ¬μ©:
GET /api/users
X-API-Version: 1
μ₯μ :
- URL ꡬ쑰μ μΌλΆκ° μλλ―λ‘ URLμ΄ λ κΉλν©λλ€.
- HTTP μ½ν μΈ νμ λ©μ»€λμ¦μ νμ©ν©λλ€.
λ¨μ :
- λ²μ μ λ³΄κ° ν€λμ μ¨κ²¨μ Έ μμ΄ κ°λ°μμκ² λ 보μ λλ€.
- μλ² μΈ‘μμ λ€λ₯Έ ν€λλ₯Ό μ²λ¦¬νκΈ° μν΄ λ 볡μ‘ν λ‘μ§μ΄ νμν μ μμ΅λλ€.
- λ²μ μ΄ μ¦μ νμλμ§ μμΌλ―λ‘ ν μ€νΈ λ° λλ²κΉ μ΄ μ΄λ €μΈ μ μμ΅λλ€.
3. λ―Έλμ΄ μ ν λ²μ κ΄λ¦¬(μ½ν μΈ νμ)
λ―Έλμ΄ μ ν λ²μ κ΄λ¦¬λ `Accept` ν€λλ₯Ό μ¬μ©νμ¬ μνλ API λ²μ μ μ§μ ν©λλ€. μ΄λ HTTP μ½ν μΈ νμμ νμ©νλ λ³΄λ€ RESTfulν μ κ·Ό λ°©μμ λλ€.
μμ:
GET /api/users
Accept: application/vnd.example.v1+json
μ₯μ :
- RESTfulνλ©° HTTP μ½ν μΈ νμ μμΉμ λΆν©ν©λλ€.
- 리μμ€μ ννμ μΈλ°νκ² μ μ΄ν μ μμ΅λλ€.
λ¨μ :
- ꡬννκ³ μ΄ν΄νκΈ° 볡μ‘ν μ μμ΅λλ€.
- λ―Έλμ΄ μ νμ μ μ€νκ² κ΄λ¦¬ν΄μΌ ν©λλ€.
- λͺ¨λ ν΄λΌμ΄μΈνΈκ° μ½ν μΈ νμμ ν¨κ³Όμ μΌλ‘ μ§μνλ κ²μ μλλλ€.
4. λ§€κ°λ³μ λ²μ κ΄λ¦¬
λ§€κ°λ³μ λ²μ κ΄λ¦¬λ API λ²μ μ μ§μ νκΈ° μν΄ URLμ 쿼리 λ§€κ°λ³μλ₯Ό μΆκ°νλ κ²μ ν¬ν¨ν©λλ€.
μμ:
GET /api/users?version=1
μ₯μ :
- ꡬννκ³ μ΄ν΄νκΈ° μ½μ΅λλ€.
- μμ²μ λ²μ μ 보λ₯Ό μ½κ² μ λ¬ν μ μμ΅λλ€.
λ¨μ :
- λΆνμν λ§€κ°λ³μλ‘ URLμ 볡μ‘νκ² λ§λ€ μ μμ΅λλ€.
- λ€λ₯Έ μ κ·Ό λ°©μλ§νΌ κΉλνκ±°λ RESTfulνμ§ μμ΅λλ€.
- λ€λ₯Έ 쿼리 λ§€κ°λ³μμ μΆ©λν μ μμ΅λλ€.
5. λ²μ κ΄λ¦¬ μμ(μ§μμ μΈ μ§ν)
μΌλΆ APIλ λͺ μμ μΈ λ²μ κ΄λ¦¬λ₯Ό ꡬννμ§ μκ³ λμ μ§μμ μΈ μ§ν μ λ΅μ μ νν©λλ€. μ΄ μ κ·Ό λ°©μμ μ μ€ν κ³νκ³Ό μ΄μ λ²μ κ³Όμ νΈνμ±μ λν μ½μμ΄ νμν©λλ€.
μ₯μ :
- API κ°λ° νλ‘μΈμ€λ₯Ό λ¨μνν©λλ€.
- μ¬λ¬ λ²μ μ κ΄λ¦¬νλ 볡μ‘μ±μ μ€μ λλ€.
λ¨μ :
- μ΄μ λ²μ κ³Όμ νΈνμ± μμΉμ μ격νκ² μ€μν΄μΌ ν©λλ€.
- κΈ°μ‘΄ ν΄λΌμ΄μΈνΈλ₯Ό μ€λ¨νμ§ μκ³ μλΉν λ³κ²½μ λμ νκΈ° μ΄λ €μΈ μ μμ΅λλ€.
- APIλ₯Ό νμ νκ³ λ°μ μν€λ λ₯λ ₯μ μ νν μ μμ΅λλ€.
μ¬λ°λ₯Έ λ²μ κ΄λ¦¬ μ λ΅ μ ν
μ΅μμ API λ²μ κ΄λ¦¬ μ λ΅μ λ€μκ³Ό κ°μ μ¬λ¬ μμΈμ λ°λΌ λ¬λΌμ§λλ€.
- APIμ 볡μ‘μ±: λ κ°λ¨ν APIλ μ§μμ μΈ μ§νλ‘ ν΄κ²°ν μ μμ§λ§, λ 볡μ‘ν APIλ λͺ μμ μΈ λ²μ κ΄λ¦¬κ° νμν μ μμ΅λλ€.
- λ³κ²½ λΉλ: λ³κ²½μ΄ μ¦μ κ²μΌλ‘ μμλλ κ²½μ° λ³΄λ€ κ°λ ₯ν λ²μ κ΄λ¦¬ μ λ΅μ΄ νμν©λλ€.
- ν΄λΌμ΄μΈνΈ μ: λ§μ μμ ν΄λΌμ΄μΈνΈλ μ΄μ λ²μ κ³Όμ νΈνμ±μ λ μ€μνκ² λ§λ€ μ μμ΅λλ€.
- νμ μ λ¬Έ μ§μ: νμ΄ κ΅¬ννκ³ μ μ§ κ΄λ¦¬νλ λ° νΈμν μ λ΅μ μ ννμμμ€.
- μ‘°μ§ λ¬Έν: μΌλΆ μ‘°μ§μ 무μλ³΄λ€ κ°λ°μ κ²½νμ μ°μ μνκ³ λ κ°λ¨ν μ루μ μ μ νΈν μ μμ΅λλ€.
κ²°μ ν λ λ€μ μ§λ¬Έμ κ³ λ €νμμμ€.
- μ΄μ λ²μ κ³Όμ νΈνμ±μ μΌλ§λ μ€μν©λκΉ? μ€λν λ³κ²½μ΄ νμ©λμ§ μλ κ²½μ° κ°λ ₯ν λ²μ κ΄λ¦¬ μ λ΅μ΄ νμν©λλ€.
- APIκ° μΌλ§λ μμ£Ό λ³κ²½λ©λκΉ? μ¦μ λ³κ²½μ μ μ μλ λ²μ κ΄λ¦¬ νλ‘μΈμ€λ₯Ό νμλ‘ ν©λλ€.
- ν΄λΌμ΄μΈνΈ κ°λ°μμ κΈ°μ μ λ¬Έ μ§μ μμ€μ μ΄λ μ λμ λκΉ? μ΄ν΄νκ³ μ¬μ©νκΈ° μ¬μ΄ μ λ΅μ μ ννμμμ€.
- API κ²μ κ°λ₯μ±μ΄ μΌλ§λ μ€μν©λκΉ? κ²μ κ°λ₯μ±μ΄ μ°μ μμμΈ κ²½μ° URI λ²μ κ΄λ¦¬κ° μ’μ μ νμΌ μ μμ΅λλ€.
- μ¬λ¬ λ²μ μ λμμ μ§μν΄μΌ ν©λκΉ? κ·Έλ λ€λ©΄, μλ‘ λ€λ₯Έ λ²μ μ μ½κ² λΌμ°ν νκ³ κ΄λ¦¬ν μ μλ μ λ΅μ΄ νμν©λλ€.
API λ²μ κ΄λ¦¬ λͺ¨λ² μ¬λ‘
μ νν λ²μ κ΄λ¦¬ μ λ΅μ κ΄κ³μμ΄, λ€μκ³Ό κ°μ λͺ¨λ² μ¬λ‘λ₯Ό λ°λ₯΄λ©΄ μννκ³ μ±κ³΅μ μΈ API μ§νλ₯Ό 보μ₯ν μ μμ΅λλ€.
- λͺ¨λ κ²μ λ¬Έμννμμμ€: API λ²μ κ΄λ¦¬ μ λ΅κ³Ό κ° λ²μ μ λν λ³κ²½ μ¬νμ λͺ ννκ² λ¬Έμννμμμ€. Swagger/OpenAPIμ κ°μ λꡬλ₯Ό μ¬μ©νμ¬ API λ¬Έμλ₯Ό μλμΌλ‘ μμ±νμμμ€.
- λ³κ²½ μ¬νμ ν¨κ³Όμ μΌλ‘ μ λ¬νμμμ€: μ λ²μ μΌλ‘ λ§μ΄κ·Έλ μ΄μ νλ λ°©λ²μ λν λͺ νν μ§μΉ¨μ μ 곡νλ©΄μ κ°λ°μμκ² μμ λ λ³κ²½ μ¬νμ μΆ©λΆν 미리 μ리μμμ€. μ΄λ©μΌ λͺ©λ‘, λΈλ‘κ·Έ κ²μλ¬Ό λ° κ°λ°μ ν¬νΈμ μ¬μ©νμ¬ ν¨κ³Όμ μΌλ‘ μν΅νμμμ€.
- μ΄μ λ²μ μ μ μ νκ² μ¬μ© μ€λ¨νμμμ€: μ΄μ λ²μ μ λν μ¬μ© μ€λ¨ κΈ°κ°μ μ 곡νμ¬ κ°λ°μκ° λ§μ΄κ·Έλ μ΄μ ν μκ°μ ν보νμμμ€. μ¬μ© μ€λ¨λ μλν¬μΈνΈλ₯Ό λͺ ννκ² νμνκ³ ν΄λΉ μλν¬μΈνΈλ₯Ό μ¬μ©νλ ν΄λΌμ΄μΈνΈμκ² κ²½κ³ λ₯Ό μ 곡νμμμ€.
- κ°λ₯ν κ²½μ° μ΄μ λ²μ κ³Όμ νΈνμ±μ μ μ§νμμμ€: κ°λ₯νλ©΄ μ€λν λ³κ²½μ νΌνμμμ€. μ€λν λ³κ²½μ΄ νμν κ²½μ° λͺ νν λ§μ΄κ·Έλ μ΄μ κ²½λ‘λ₯Ό μ 곡νμμμ€.
- APIμ μλ§¨ν± λ²μ κ΄λ¦¬λ₯Ό μ¬μ©νμμμ€(SemVer): SemVerλ APIμ λν λ³κ²½ μ¬νμ μν₯μ μ λ¬νλ νμ€νλ λ°©λ²μ μ 곡ν©λλ€.
- μλνλ ν μ€νΈλ₯Ό ꡬννμμμ€: μλνλ ν μ€νΈλ APIμ λν λ³κ²½ μ¬νμ΄ κΈ°μ‘΄ κΈ°λ₯μ μμμν€μ§ μλλ‘ νλ λ° λμμ΄ λ μ μμ΅λλ€.
- API μ¬μ©λ λͺ¨λν°λ§: API μ¬μ©λμ λͺ¨λν°λ§νλ©΄ μ μ¬μ μΈ λ¬Έμ λ₯Ό μλ³νκ³ ν₯ν κ°λ° κ²°μ μ μ릴 μ μμ΅λλ€.
- API κ²μ΄νΈμ¨μ΄ μ¬μ© κ³ λ €: API κ²μ΄νΈμ¨μ΄λ API λ²μ κ΄λ¦¬ λ° λΌμ°ν μ λ¨μνν μ μμ΅λλ€.
- μ§νλ₯Ό μν΄ μ€κ³νμμμ€: APIλ₯Ό μ€κ³ν λ ν₯ν λ³κ²½ μ¬νμ κ³ λ €νμμμ€. μ μ°νκ³ μ μ κ°λ₯ν ν¨ν΄μ μ¬μ©νμμμ€.
μλ§¨ν± λ²μ κ΄λ¦¬(SemVer)
μλ§¨ν± λ²μ κ΄λ¦¬(SemVer)λ μΈ λΆλΆμΌλ‘ λ λ²μ λ²νΈλ₯Ό μ¬μ©νλ λ리 μ¬μ©λλ λ²μ κ΄λ¦¬ 체κ³μ λλ€: `MAJOR.MINOR.PATCH`.
- MAJOR: νΈνλμ§ μλ API λ³κ²½μ λνλ λλ€.
- MINOR: μ΄μ λ²μ κ³Ό νΈνλλ λ°©μμΌλ‘ μΆκ°λ κΈ°λ₯μ λνλ λλ€.
- PATCH: μ΄μ λ²μ κ³Ό νΈνλλ λ²κ·Έ μμ μ λνλ λλ€.
SemVerλ₯Ό μ¬μ©νλ©΄ κ°λ°μκ° λ³κ²½ μ¬νμ μν₯μ μ΄ν΄νκ³ μ λ²μ μΌλ‘ μ κ·Έλ μ΄λν μ§ μ¬λΆμ λν μ 보μ μ κ°ν κ²°μ μ λ΄λ¦¬λ λ° λμμ΄ λ©λλ€.
μμ:
λ²μ `1.2.3`μ APIλ₯Ό κ³ λ €ν΄ λ³΄μμμ€.
- λ²κ·Έ μμ μ λ²μ `1.2.4`λ₯Ό μ΄λν©λλ€.
- μλ‘μ΄ μ΄μ λ²μ κ³Όμ νΈνλλ κΈ°λ₯ μΆκ°λ λ²μ `1.3.0`μ μ΄λν©λλ€.
- μ€λν λ³κ²½μ λ²μ `2.0.0`μ μ΄λν©λλ€.
API μ¬μ© μ€λ¨
API μ¬μ© μ€λ¨μ μ΄μ API λ²μ μ λ¨κ³μ μΌλ‘ μ κ±°νλ νλ‘μΈμ€μ λλ€. API μλͺ μ£ΌκΈ°μ μ€μν λΆλΆμ΄λ©° ν΄λΌμ΄μΈνΈμ λν μ€λ¨μ μ΅μννκΈ° μν΄ μ μ€νκ² μ²λ¦¬ν΄μΌ ν©λλ€.
API λ²μ μ¬μ© μ€λ¨ λ¨κ³:
- μ¬μ© μ€λ¨ λ°ν: κ°λ°μμκ² μ¬μ© μ€λ¨ μΌμ μ λͺ ννκ² μλ¦¬κ³ μ λ²μ μΌλ‘ λ§μ΄κ·Έλ μ΄μ ν μ μλ μΆ©λΆν μκ°μ μ 곡ν©λλ€. μ΄λ©μΌ, λΈλ‘κ·Έ κ²μλ¬Ό λ° API λ΄ κ²½κ³ μ κ°μ μ¬λ¬ μ±λμ μ¬μ©νμμμ€.
- λ§μ΄κ·Έλ μ΄μ κ°μ΄λ μ 곡: μ λ²μ μΌλ‘ μ κ·Έλ μ΄λνλ λ° νμν λ¨κ³λ₯Ό μ€λͺ νλ μμΈν λ§μ΄κ·Έλ μ΄μ κ°μ΄λλ₯Ό λ§λλλ€. μ½λ μμ λ° λ¬Έμ ν΄κ²° νμ ν¬ν¨ν©λλ€.
- APIλ₯Ό μ¬μ© μ€λ¨μΌλ‘ νμ: HTTP ν€λ λλ μλ΅ λ³Έλ¬Έμ μ¬μ©νμ¬ APIκ° μ¬μ© μ€λ¨λμμμ νμν©λλ€. μλ₯Ό λ€μ΄, `Deprecation` ν€λ(RFC 8594)λ₯Ό μ¬μ©ν μ μμ΅λλ€.
- μ¬μ©λ λͺ¨λν°λ§: μ¬μ© μ€λ¨λ API λ²μ μ μ¬μ©λμ μΆμ νμ¬ λ§μ΄κ·Έλ μ΄μ μ§μμ΄ νμν ν΄λΌμ΄μΈνΈλ₯Ό μλ³ν©λλ€.
- API μ’ λ£: μ¬μ© μ€λ¨ κΈ°κ°μ΄ μ’ λ£λλ©΄ API λ²μ μ μ κ±°ν©λλ€. μ¬μ© μ€λ¨λ μλν¬μΈνΈμ λν μμ²μ λν΄ 410 Gone μ€λ₯λ₯Ό λ°νν©λλ€.
API λ²μ κ΄λ¦¬λ₯Ό μν κΈλ‘λ² κ³ λ € μ¬ν
κΈλ‘λ² λμμ μν΄ APIλ₯Ό μ€κ³νκ³ λ²μ κ΄λ¦¬ν λ λ€μ μ¬νμ κ³ λ €νμμμ€.
- νμ§ν: API μλ΅μμ μ¬λ¬ μΈμ΄ λ° λ¬Ένμ νμμ μ§μν©λλ€. μ½ν μΈ νμμ μν΄ `Accept-Language` ν€λλ₯Ό μ¬μ©ν©λλ€.
- μκ°λ: λ μ§μ μκ°μ μΌκ΄λ μκ°λ(μ: UTC)λ‘ μ μ₯νκ³ λ°νν©λλ€. ν΄λΌμ΄μΈνΈκ° μνλ μκ°λλ₯Ό μ§μ νλλ‘ νμ©ν©λλ€.
- ν΅ν: μ¬λ¬ ν΅νλ₯Ό μ§μνκ³ νμ¨μ μ 곡ν©λλ€. ISO 4217 ν΅ν μ½λλ₯Ό μ¬μ©ν©λλ€.
- λ°μ΄ν° νμ: λ€μν μ§μμμ μ¬μ©λλ λ€μν λ°μ΄ν° νμμ μΌλμ λμμμ€. μλ₯Ό λ€μ΄, λ μ§ νμμ μ μΈκ³μ μΌλ‘ ν¬κ² λ€λ¦ λλ€.
- κ·μ μ€μ: APIκ° μ¬μ©λλ λͺ¨λ μ§μμμ κ΄λ ¨ κ·μ (μ: GDPR, CCPA)μ μ€μνλμ§ νμΈν©λλ€.
- μ±λ₯: λ€μν μ§μμμ APIμ μ±λ₯μ μ΅μ νν©λλ€. CDNμ μ¬μ©νμ¬ μ¬μ©μμκ² λ κ°κΉμ΄ μ½ν μΈ λ₯Ό μΊμν©λλ€.
- 보μ: APIλ₯Ό 곡격μΌλ‘λΆν° 보νΈνκΈ° μν΄ κ°λ ₯ν 보μ μ‘°μΉλ₯Ό ꡬνν©λλ€. μ§μ 보μ μꡬ μ¬νμ κ³ λ €νμμμ€.
- λ¬Έμ: κΈλ‘λ² κ³ κ°μκ² λ§μΆ° μ¬λ¬ μΈμ΄λ‘ λ¬Έμλ₯Ό μ 곡νμμμ€.
API λ²μ κ΄λ¦¬μ μ€μ μ¬λ‘
API λ²μ κ΄λ¦¬μ μ€μ μ¬λ‘λ₯Ό μ΄ν΄λ³΄κ² μ΅λλ€.
- Twitter API: Twitter APIλ URI λ²μ κ΄λ¦¬λ₯Ό μ¬μ©ν©λλ€. μλ₯Ό λ€μ΄, `https://api.twitter.com/1.1/statuses/home_timeline.json`μ λ²μ 1.1μ μ¬μ©ν©λλ€.
- Stripe API: Stripe APIλ μ¬μ©μ μ§μ `Stripe-Version` ν€λλ₯Ό μ¬μ©ν©λλ€. μ΄λ₯Ό ν΅ν΄ κΈ°μ‘΄ ν΅ν©μ μμμν€μ§ μκ³ APIλ₯Ό λ°λ³΅ν μ μμ΅λλ€.
- GitHub API: GitHub APIλ `Accept` ν€λλ₯Ό ν΅ν΄ λ―Έλμ΄ μ ν λ²μ κ΄λ¦¬λ₯Ό μ¬μ©ν©λλ€.
- Salesforce API: Salesforce APIλ `/services/data/v58.0/accounts`μ κ°μ΄ URI λ²μ κ΄λ¦¬λ₯Ό μ¬μ©ν©λλ€.
κ²°λ‘
API λ²μ κ΄λ¦¬λ κ°λ ₯νκ³ νμ₯ κ°λ₯νλ©° μ μ§ κ΄λ¦¬κ° μ©μ΄ν APIλ₯Ό ꡬμΆνκΈ° μν νμμ μΈ λ°©λ²μ λλ€. νμ μ¬νμ μ μ€νκ² κ³ λ €νκ³ μ¬λ°λ₯Έ λ²μ κ΄λ¦¬ μ λ΅μ μ ννλ©΄ ν΄λΌμ΄μΈνΈμ λν μ€λ¨μ μ΅μννλ©΄μ APIμ μνν μ§νλ₯Ό 보μ₯ν μ μμ΅λλ€. APIλ₯Ό μ² μ ν λ¬Έμννκ³ , λ³κ²½ μ¬νμ ν¨κ³Όμ μΌλ‘ μ λ¬νκ³ , μ΄μ λ²μ μ μ μ νκ² μ¬μ© μ€λ¨νλ κ²μ μμ§ λ§μμμ€. μλ§¨ν± λ²μ κ΄λ¦¬λ₯Ό μ±ννκ³ κΈλ‘λ² μμλ₯Ό κ³ λ €νλ©΄ μ μΈκ³ κ³ κ°μ μν APIμ νμ§κ³Ό μ μ©μ±μ λμ± ν₯μμν¬ μ μμ΅λλ€.
κΆκ·Ήμ μΌλ‘, μ λ²μ κ΄λ¦¬λ APIλ λ ν볡ν κ°λ°μ, λ μμ μ μΈ μ ν리μΌμ΄μ , κ·Έλ¦¬κ³ λΉμ¦λμ€λ₯Ό μν λ κ°λ ₯ν κΈ°λ°μ μλ―Έν©λλ€.