programing

Node.js 및 Express를 사용한 간단한 API 호출

sourcetip 2023. 4. 2. 20:41
반응형

Node.js 및 Express를 사용한 간단한 API 호출

이제 막 노드, API 및 웹 애플리케이션을 시작했습니다.

Node.js와 Express의 기본 동작은 이해하지만, 이제 다른 서비스의 API에 대한 호출과 데이터 처리를 시작하고 싶습니다.

기본적인 HTTP 요구와 노드에서의 응답 취득/파싱 방법을 개략적으로 설명할 수 있습니까?또한 요청에 특정 헤더를 추가하고 싶습니다(http://www.getharvest.com API를 사용하여 타임시트 데이터를 크런치하고 있습니다).

추신: 이건 간단해 보이지만, 많은 검색에서 제 질문에 대한 답을 찾을 수 없었습니다.중복이 되면 알려주시면 삭제하겠습니다.

감사합니다!

Express에서는 데이터를 가져올 수 없습니다. Mikeal의 요청 라이브러리를 사용해야 합니다.

설치: npm install request

이 라이브러리의 API는 매우 간단합니다.

const request = require('request');
request('http://www.google.com', function (error, response, body) {
  if (!error && response.statusCode == 200) {
    console.log(body) // Print the google web page.
  }
})

편집: http 기본 라이브러리 대신 이 라이브러리를 사용하는 것이 좋습니다. 왜냐하면 이 라이브러리는 훨씬 더 좋은 API와 고급 기능(쿠키까지 지원)을 가지고 있기 때문입니다.

업데이트: 요청은 더 이상 사용되지 않지만 'got' 또는 'superagent'와 같은 몇 가지 좋은 대안이 있습니다(npm에 검색).

http 클라이언트를 사용할 수 있습니다.

var http = require('http');
var client = http.createClient(3000, 'localhost');
var request = client.request('PUT', '/users/1');
request.write("stuff");
request.end();
request.on("response", function (response) {
  // handle the response
});

또한 api 매뉴얼에 설명된 대로 헤더를 설정할 수도 있습니다.

client.request(method='GET', path, [request_headers])

2개의 패키지를 인스톨 할 필요가 있습니다.

npm install ejs 
npm install request

server.displaces

var request = require('request');
app.get('/users', function(req, res) {
    request('https://jsonplaceholder.typicode.com/users', function(error, response, body) {
        res.json(body)
    });
});

인덱스.ejs

$.ajax({
    type: "GET",
    url: 'http://127.0.0.1:3000/posts',
    dataType: "json",
    success: function(res) {
        var res_data = JSON.parse(res);
        console.log(res_data);
    }
});

산출량

여기에 이미지 설명 입력

언급URL : https://stackoverflow.com/questions/8515872/simple-api-calls-with-node-js-and-express

반응형