Introduction to Needle
Needle is a versatile tool for interacting with REST APIs, making it easier for developers to integrate and manage HTTP services. In this guide, we’ll explore the core features of Needle and demonstrate its usage through several API examples.
Basic HTTP Requests
Needle simplifies making HTTP GET, POST, PUT, and DELETE requests. Here’s how you can make these basic requests:
GET Request
const needle = require('needle'); needle.get('https://jsonplaceholder.typicode.com/posts/1', (error, response) => { if (!error && response.statusCode == 200) console.log(response.body); });
POST Request
needle.post('https://jsonplaceholder.typicode.com/posts', { title: 'foo', body: 'bar', userId: 1 }, (error, response) => { if (!error && response.statusCode == 201) console.log(response.body); });
Additional API Examples
PUT Request
needle.put('https://jsonplaceholder.typicode.com/posts/1', { title: 'updatedTitle' }, (error, response) => { if (!error && response.statusCode == 200) console.log(response.body); });
DELETE Request
needle.delete('https://jsonplaceholder.typicode.com/posts/1', (error, response) => { if (!error && response.statusCode == 200) console.log(response.body); });
Handling Headers
const options = { headers: { 'User-Agent': 'Needle-Agent' } }; needle.get('https://jsonplaceholder.typicode.com/posts/1', options, (error, response) => { if (!error && response.statusCode == 200) console.log(response.body); });
Timeout Configuration
const options = { open_timeout: 5000 // 5 seconds }; needle.get('https://jsonplaceholder.typicode.com/posts/1', options, (error, response) => { if (!error && response.statusCode == 200) console.log(response.body); });
Full Application Example
Below is a full example of a Node.js application using Needle to perform multiple HTTP requests and handle responses:
const needle = require('needle'); // GET Request needle.get('https://jsonplaceholder.typicode.com/posts/1', (error, response) => { if (!error && response.statusCode == 200) { console.log('GET Response:', response.body); // POST Request needle.post('https://jsonplaceholder.typicode.com/posts', { title: 'foo', body: 'bar', userId: 1 }, (error, response) => { if (!error && response.statusCode == 201) { console.log('POST Response:', response.body); // PUT Request needle.put('https://jsonplaceholder.typicode.com/posts/1', { title: 'updatedTitle' }, (error, response) => { if (!error && response.statusCode == 200) { console.log('PUT Response:', response.body); // DELETE Request needle.delete('https://jsonplaceholder.typicode.com/posts/1', (error, response) => { if (!error && response.statusCode == 200) { console.log('DELETE Response:', response.body); } }); } }); } }); } });
With these examples, developers can effectively utilize Needle for their HTTP service interactions within Node.js applications.
Hash: 09881f6ed93360a2f6ad81f435a8ca51ca4575d0f954f197ff8f7d16c6565562