所有分类
  • 所有分类
  • 后端开发
Node.js 中请求 API 接口的方法与实践

Node.js 中请求 API 接口的方法与实践

在前端开发中,api(应用程序接口)是连接前端和后端的重要桥梁,通过api可以获取数据、操作数据库等。而在node.js中,通过请求api接口,我们可以实现一些强大的功能。接下来,本文将介绍如何在node.js中请求api接口。将getWe

大家都应该听说过API(应用程序接口)它就是帮助咱们连接前端和后端滴神器。有了 API,我们不仅可以拿到数据,甚至还能操纵数据库!在Node.js里面,利用API做请求,咱们还可以实现许多强大的功能。下面我就教大家如何用Node.js去请求API接口,这样咱们就能更轻松地实现前后端之间的信息交流啦~

Node.js简介

你知道吗?Node.js就是个让JavaScript跑在各种设备上都能用的运行环境,还是开源的!所以说,你现在也能把JavaScript用到后台开发上去,不再只是停留在前端开发。现在,Node.js已经成为了Web开发里的牛人,它既方便又轻巧,因此越来越多的人都愿意在服务器那边用上它。

Node.js牛在哪?就在于它能先把事情做好,后面的事情还没完也不怕,直接继续干别的活儿!还有,Node.js有个大家族,啥都有,特别方便我们程序员。

API接口的重要性

你知不知道呀?现在做网页多靠API接口这个好帮手连接前后台!它能随时随地帮咱们传消息跟数据。多种多样,像什么RESTful API和GraphQL API之类的。有了Node.js,只要给它们发个请求,瞬间就能拿到我们想要的料儿去玩儿我们想干的事!

API接口挺棒哒,可加功能随意扩充,随意增定制查都超方便!祝你在实践中发现更多用法,不怕特殊操作;另外这玩意儿还能稳固提高系统的质量与可测试度哩!

安装请求库

想调用Node.js的API,你得先下个叫Request的库!就像现在这样简单,俩条命令搞定:

bash
npm install request

搞定你这下可以靠request这个小工具在Node.js项目上搞定下单API的事了。别小瞧它,虽然个头不大,但功能强悍得很,有了它,发HTTP请求一下子就简单得多了~

获取API数据

小伙伴们,来看看怎么用Node.js在OpenWeatherMap API查询天气。首先得去官网上注册个账号,再搞到个API key才行

首先,找一个叫getWeather.js的文件,往里面添加这么些代码哈:

“`javascript

咱们要用这个叫request的东西,这玩意儿在Node.js里面超好用。

索性就用那个叫作’YOUR_API_KEY’的API密码。

const city = ‘London’;

哈喽,让我们直接上手!比如说,首先在网址里面加进去你想查询的城市名和API密钥:http://api.openweathermap.org/data/2.5/weather?q=北京&appid=XXXXX。

帮个忙(简而言之就是求助)查下这个地址,之后4样东西给你看:错误啦、回应啊、内容文本喽。期待你们的宝贵意见~

if (error) {

console.log(‘Error:’, error);

} else {

console.log(‘Body:’, body);

}

});

运行这段代码,你马上就能知道你家附近现在的天气!和点外卖差不多,首先加载 request 库,绑定好 API key 和你想查询的地点。接着,把这个地址发回给 OpenWeatherMap API 网站,立马就能拿到最新天气消息咯~

npm install request

解析API数据

接着,我教你咋儿读懂API给咱回复的那些消息,然后你得先把那个getWeather.js里面的内容给调换改动一下哈。

我们就简简单单搞定这部分代码,先解锁JSON来解析body,最后再把这个结果塞进weather里边儿。

小伙伴们注意,有个重大消息!今天天儿实在太热了,竟达到了{weather.main.temp}度!猜猜发生在哪,就是那个特别有活力的{weather.name}!

console.log(message);

在终端中运行以下命令:

node getWeather.js

好嘞!现在就能瞧见你那儿的天气,还有城市名儿。收到以后我就立马处理这些信息,再把有用的通知发给你哈~

处理API错误

网上冲浪总会碰到显示“403”或“500”的小麻烦,其实它们就好比向你宣告某地方出了错。这时就要带着这些小暗示找出症结所在。使用API时亦是如此,各种error code或error message也要靠这些线索来解决。

else if (响应状态码不等于200),那就

好了,看这个—— “状态码:”+response.statusCode 咱们就能知道返回的是啥了。

直接在那个窗口敲下这段代码就可以。如果API有啥毛病,到时候会告诉你是咋回事的,是什么错误或状态码。

使用Promise和Async/Await

你想让代码看起来既清晰又直观?那就让我们用 Promise 和 Async/AWAIT 来实现吧!这就是那个叫做”getWeather”函数的特色。

这叫“一次过”法:先约定好成败的做法(成功了就搞定,失败了就一拍两散),然后再开始干活儿。

点这儿呗,网页会告诉你是啥情况的(有错还是成功啦)。

if (error) {

reject(error);

如果状态码不是200,就这么做…

不好意思,服务器给我们发来了一条${response.statusCode}这个状态码的错信息。

} else {

resolve(JSON.parse(body));

}

Node.js 中请求 API 接口的方法与实践

});

var request = require('request');
var apiKey = 'YOUR_API_KEY'; // 将YOUR_API_KEY替换为你在OpenWeatherMap网站上获取的API key
var city = 'London'; // 城市名
request(`https://api.openweathermap.org/data/2.5/weather?q=${city}&appid=${apiKey}`, function (error, response, body) {
  if (!error && response.statusCode == 200) {
    console.log(body);
  }
});

});

}

async function main() {

try {

咱这儿天气乱得很,我就跑去查查天气状况,就是在那个getWeather那儿搞定的。

} catch (error) {

main();

你敲代码,电脑就给你发个实时的天气信息!开始时我们定义了个getWeather函数,能给个确切回复。然后在主程序中利用这神奇的Async/AWAIT来向API提出要求。如果成功了,就从接到的JSON文件中找到咱们要的——天气情况。没成功的话,程序会诚实地告诉你哪里出错。

使用Axios库

试试Axios库,这可是另一种好用的HTTP客户端库,跟Request库一样,它也基于Promise模式。用着超顺手!

首先,在终端中输入以下命令安装Axios库:

npm install axios

现在,就去把getWeather.js的内容给改过来呗,改成下面这个样子就对了嘛:

我们要用这个叫axios的工具来连接网络。

async function getWeather() {

咱们就直接用axios去戳那个网站,结果就在response那个地方。

天气数据就在’response.data’里!

getWeather();

首先,我们要用到Axios这个小助手。然后,别忘了准备好你的API密钥和你要查询的城市名称~接下来,就是让Axios向OpenWeatherMap的API发出HTTP请求~搞定!

使用Express框架

平常编程的时候,用Express这种轻巧又方便的Node.js网页应用建站神器,分分钟搞定网页应用!

var request = require('request');
var apiKey = 'YOUR_API_KEY'; // 将YOUR_API_KEY替换为你在OpenWeatherMap网站上获取的API key
var city = 'London'; // 城市名
request(`https://api.openweathermap.org/data/2.5/weather?q=${city}&appid=${apiKey}&units=metric`, function (error, response, body) {
  if (!error && response.statusCode == 200) {
    var data = JSON.parse(body);
    console.log('城市:', data.name);
    console.log('温度:', data.main.temp, '度');
    console.log('湿度:', data.main.humidity, '%');
    console.log('天气:', data.weather[0].description);
  }
});

首先,在终端中输入以下命令安装Express框架:

npm install express

接下来,咱们要新建一个名叫app.js的文件,这里面就这几行代码你们看一哈子哈:

我们需要用到Express这个库,就把它先导入进来。

const app = express();

咱们这个App里的天气预报是在’/’weather那个地方搞定的。有人点进去的话,程序就会发出个信号来找我们,然后再用之前教过你们的方法(req, res)搞定回复。

const city = req.query.city;

我们用了这个网站:https://www.openweathermap.org/data/2.5/weather?q=你要查的城市&appid=你的API密钥,这能告诉你实际上在做什么的城市天气。

上网请求完 URL 后,得到三样:出错提示 error,服务器答复 response 以及网页内容 body。接下来的处理得靠它们了。

node getWeather.js

if (error) {

res.send(‘Error:’, error);

else if (状态不是200,那就……)

我们会告诉你状态码是多少,响应的状态码就告诉你。

} else {

直接把天气的JSON数据解析一下。

“看看天气预报,网上就查得到。像今天,北京气温是25摄氏度,天气预报说是个好天气!”

res.send(message);

}

app.listen(3000, () => {

您瞅,我这哥们儿在默认的3000端口上跑得挺欢。

node app.js

你只需要打开浏览器,输入`http://localhost:3000/weather?city=London`,看看伦敦的天气!这个小程序已经安装好了Express框架和request库。API key也搞定了,现在整个就变成了一款Express应用。它就在3000门后等着你的请求,然后提供一条叫作/weather的查天气通道。

总结

好!我们学会了怎么用Node.js找API接口,还能把手头拿到的数据解析出来!用了两个好用的库——Request和Axios,用来发出HTTP请求;还有 Promise 和 Async/Await 来处理这些请求。更牛的是,咱们还能利用 Express 框架做个简单的 Web 应用!

这些小妙招能帮助咱们搞定前端和后端的信息通信,让网页设计变得无比神奇。希望本篇小文能对你有所启发哟~快来留言咨询或者发表意见。别忘了点个赞和分享哈。

提问

最近你们在使用Node.js和API搭建服务器的时候,都遇到了哪些难题?有成功解决的吗?来分享下经验呗!

原文链接:https://www.icz.com/technicalinformation/web/javascript/2024/07/19245.html,转载请注明出处~~~
0

评论0

请先
注意:请收藏好网址www.icz.com,防止失联!站内免费资源持续上传中…!赞助我们
显示验证码
没有账号?注册  忘记密码?