λ€μ΄λ² μ€ν APIλ?
λ€μ΄λ²λ κ°λ°μλ€μ΄ νμ©ν μμλλ‘ λ€μν κΈ°λ₯λ€μ μ€ν API ννλ‘ μ 곡νκ³ μμ΅λλ€.
μ΄λ² ν¬μ€ν
μμλ λ€μ΄λ² Open APIμ λν μ€λͺ
κ³Ό μ΄λ₯Ό νμ©ν μ μλ λ°©λ²λ€μ λν΄ μκ°νκ² μ΅λλ€.
λ€μ΄λ² κ°λ°μ ννμ΄μ§μ κ°λ³΄λ©΄ λ€μκ³Ό κ°μ΄ μ€ν APIλ₯Ό μ μνκ³ μμ΅λλ€.
λ€μ΄λ² μ€νAPIλ λ€μ΄λ² νλ«νΌμ κΈ°λ₯μ μΈλΆ κ°λ°μκ° μ½κ² μ΄μ©ν μ μκ² μΉ λλ SDK ννλ‘ κ³΅κ°ν κΈ°μ λ€μ λλ€.
μ½κ² λ§ν΄ λ€μ΄λ²μμ μΈλΆ κ°λ°μλ€μ΄ μμ¬μ λ€μν μλΉμ€λ€μ μ΄μ©ν μ μλλ‘ μΈλΆμ 곡κ°ν΄λμ κ²μ
λλ€.
μ ν¬λ ν΄λΉ APIλ₯Ό μ¬μ©νκΈ° μν΄ μ£Όμ΄μ§ νμμ λ§μΆ° μμ²μ 보λ΄μ£ΌκΈ°λ§ νλ©΄ λ©λλ€.
λ€μ΄λ² κ°λ°μ ννμ΄μ§μ κ°λ©΄ νμ© κ°λ₯ν μ€ν APIλ€μ νμΈν μ μμ΅λλ€.
λ€μ΄λ² μ€ν API νμ©νκΈ°
λ€μ΄λ² μ€ν APIλ ν¬κ² λ κ°μ§λ‘ λΆλ₯λ©λλ€.
- [1] λ‘κ·ΈμΈ λ°©μ
- [2] λΉλ‘κ·ΈμΈ λ°©μ
λ‘κ·ΈμΈ λ°©μμ νμ μ λ³΄κ° νμν API(νμ μ 보 μ‘°ν, λΈλ‘κ·Έ λ° μΉ΄ν, κ°μΈ μΌμ κ΄λ ¨ κΈ°λ₯)λ€μ μ¬μ©ν λ μ΄μ©νλ λ°©μμ λλ€.
ν΄λΉ APIλ₯Ό μ¬μ©νκΈ° μν΄μλ λ¨Όμ λ‘κ·ΈμΈμ ν΅ν΄ μΈμ¦κ³Όμ μ κ±°μΉ ν λ°κΈλ°μ ν ν°μ API μμ²μ ν¬ν¨μμΌμ€μΌ ν©λλ€.
λ°λλ‘ λΉλ‘κ·ΈμΈ λ°©μμ λ³λμ μΈμ¦ κ³Όμ μμ΄ κ°λ°μκ° HTTP ν€λμ ν΄λΌμ΄μΈνΈ μ 보λ₯Ό ν¨κ» μ μ‘νκΈ°λ§ νλ©΄ μ΄μ©ν μ μλ λ°©μμ
λλ€.
π‘ ν΄λΌμ΄μΈνΈ μ 보?
λ€μ΄λ² μ€ν APIλ₯Ό νμ©νκΈ° μν΄μλ κΈ°λ³Έμ μΌλ‘ μνλ APIμ λν΄ μ¬μ© μ μ²μ΄ νμν©λλ€.
μ΄λ μ μ² ν λ°κΈλ°μ μ μ μ 보λ₯Ό μλ―Έν©λλ€.
ννκ³ μ€ν API
λ€μ΄λ² ννκ³ μ€ν APIλ μμ°μ΄ μ²λ¦¬ κ΄λ ¨ κΈ°μ λ€μ κ°λ°μλ€μ΄ μ½κ² μ΄μ©ν μ μλλ‘ μ€ν APIλ‘ μ 곡νκ³ μμ΅λλ€.
μ΄λ² ν¬μ€ν
μμλ ννκ³ μ λ²μ κΈ°λ₯μ νμ©νμ¬ μ£Όμ΄μ§ ν
μ€νΈλ₯Ό λ²μν λ€ κ²°κ³Όλ₯Ό νμΈν΄λ³΄λλ‘ νκ² μ΅λλ€.
μ°μ λ€μ΄λ² ννκ³ API ννμ΄μ§λ‘ κ°μ API μ΄μ© μ μ²μ ν΄μΌν©λλ€.
μ΄μ© μ μ²μ λλ₯΄λ©΄ λ€μκ³Ό κ°μ μ μ² νΌμ μμ±νκ² λ©λλ€.
- μ ν리μΌμ΄μ μ΄λ¦ : ννκ³ μ€ν APIλ₯Ό νμ©ν μ ν리μΌμ΄μ μ΄λ¦ μμ±
- μ¬μ© API : ν΄λΉ μ ν리μΌμ΄μ μμ μ¬μ©ν μ€ν APIλ€μ μ νν©λλ€. (볡μ μ ν κ°λ₯)
- λΉλ‘κ·ΈμΈ μ€ν API μλΉμ€ νκ²½ : λ€μ΄λ²μκ² μ΄λ€ νκ²½μμ ν΄λΉ APIκ° νμ©λλμ§ μλ €μ€λλ€.
μ λ νμ¬ λ‘컬 νκ²½μμ ν
μ€νΈλ₯Ό μ§νν ν WEBνκ²½μμ μ΄λ₯Ό νμ©ν κ²μ΄λ―λ‘
λΉλ‘κ·ΈμΈ μ€ν API νκ²½μ WEB
λ‘ νκ³ URLλ‘ λ‘컬 νΈμ€νΈμμ λνλ΄λ https://localhost:3000/
λ₯Ό μ
λ ₯νκ³ μ μ²μ λ§μΉκ² μ΅λλ€.
λͺ¨λ μ μ²μ λ§λ¬΄λ¦¬νλ©΄ μμ κ°μ΄ ν΄λΌμ΄μΈνΈ IDμ Passwordλ₯Ό λ°κΈν΄μ€λλ€.
μ΄νμ μν μ½λμμ μ΄ μ 보λ₯Ό νμ©ν©λλ€.
μν μ½λ μμ±
μ΄μ ν
μ€νΈ μ½λλ₯Ό μμ±νκ³ ν΄λΉ APIκ° μ λμνλμ§ νμΈν΄λ³΄κ² μ΅λλ€.
μ΄λ₯Ό μν΄ μλ‘μ΄ νλ‘μ νΈλ₯Ό μμ±ν λ€ package.jsonμ μμ±νκ³ request λͺ¨λμ μ€μΉν©λλ€.
νλ‘μ νΈ npm μ€μ (package.json μμ±)
npm init
request λͺ¨λ μ€μΉ
npm i request
request λͺ¨λμ http ν΅μ μ μν npm ν¨ν€μ§μ λλ€.
sample.js
const request = require("request");
// api μμ² λ³μ
const api_url = "https://openapi.naver.com/v1/papago/n2mt";
const client_id = "your-client-id";
const client_secret = "your-client-secret-key";
const query = "papago open api translation success!";
// api μμ² μ΅μ
(λ²μ: μμ΄ -> νκΈ)
const options = {
url: api_url,
form: { source: "en", target: "ko", text: query },
headers: {
"X-Naver-Client-Id": client_id,
"X-Naver-Client-Secret": client_secret,
},
};
// api μμ² λ³΄λ΄κ³ μ½λ°±μΌλ‘ κ²°κ³Ό λ°κΈ°
request.post(options, function (error, response, body) {
if (!error && response.statusCode == 200) {
console.log(JSON.parse(body));
} else {
console.log("error = " + response.statusCode);
}
});
μμ μ€μΉν request λͺ¨λμ ν΅ν΄ API μ£Όμλ‘ http μμ²μ 보λ΄λ©΄ ν΄λΉ APIκ° ν΄λΌμ΄μΈνΈ κ²μ¦μ ν λ€ κ²°κ³Όκ°μ JSON νμμΌλ‘ λ°νν΄μ€λλ€.
μ΄λ request λͺ¨λμ post ν¨μλ λΉλκΈ° λ°©μμΌλ‘ μνλλ―λ‘ μ½λ°± ν¨μλ₯Ό λ±λ‘νμ¬ κ²°κ³Όκ°μ νμΈν©λλ€.
κ²°κ³Ό νμΈ
λ§μ½ μ±κ³΅μ μΌλ‘ μμ²μ΄ μ μ‘λλ©΄ μμ κ°μ κ²°κ³Όλ₯Ό νμΈν μ μμ΅λλ€.
μ£Όμ΄μ§ μ
λ ₯ κ°μ λ°λΌ λ²μμ΄ μ¬λ°λ₯΄κ² μ§νλ κ²μ μ μ μμ΅λλ€.
μ£Όμ!
request λͺ¨λμ 2020λ
2μ 11μΌ λΆλ‘ deprecated λμμ΅λλ€.
μ΄λ² μμ μμλ κ°λ¨ν ν
μ€νΈλ₯Ό μν΄ request λͺ¨λμ μ¬μ©νμ§λ§
μ€μ μλΉμ€μμλ http ν΅μ μ μν΄ λ€λ₯Έ ν¨ν€μ§λ₯Ό μ¬μ©νλ κ²μ κ²ν ν νμκ° μμ΅λλ€.
request λͺ¨λ deprecated κ΄λ ¨ 곡μ§
request λͺ¨λμ λ체ν μ μλ ν¨ν€μ§λ€
λ§μΉλ©°
λ€μ΄λ² λΏλ§ μλλΌ λ€μν κΈ°μ
νΉμ 곡곡기κ΄μμ μ 곡νλ μ€ν APIλ₯Ό νμ©νλ©΄ ν¨μ¬ λ λ€μν μ ν리μΌμ΄μ
κ°λ°μ΄ κ°λ₯ν΄μ§λλ€.
λ³ΈμΈμ΄ νμν APIλ₯Ό κ²μν΄λ³Έ λ€ λ§μ°¬κ°μ§ λ°©λ²μΌλ‘ νμ©νλ©΄ λ κ²μ
λλ€.
μ°Έκ³ μλ£
'π¨βπ» web.dev > node' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
Node.js μλ²μ Redis μ μ©νκΈ° (1) | 2022.05.28 |
---|---|
multer λͺ¨λμ νμ©ν μ΄λ―Έμ§ νμΌ μ λ‘λ νν λ¦¬μΌ (2) | 2021.03.05 |
Node.jsμ MySQLλ₯Ό μ΄μ©ν κ²μκΈ μμ±νκΈ° νν λ¦¬μΌ (0) | 2021.03.05 |
Sequelize ORMμμ migration νμ©νκΈ° (0) | 2021.03.03 |
Node.js CORS μ€μ νκΈ° (2) | 2021.03.02 |
π¬ λκΈ