当使用不同的参数测试端点时,可以使用许多GUI REST客户端之一来发出请求。(通过“ GUI”,我的意思是存在一个带有框和按钮的图形用户界面,供您单击。)您还可以使用curl(我们将在稍后介绍),但是GUI客户端倾向于简化使用REST API的测试。
目录
- 为什么要使用GUI客户端
- 受欢迎的GUI客户
- 活动:使用Postman
- 发送请求发出请求保存请求(可选) 请求OpenWeatherMap 5天预报(可选)
- 再提出一个OpenWeatherMap API请求相同的请求,但在Paw中而不是Postman中
为什么要使用GUI客户端
使用GUI REST客户端,您可以:
- 以易于再次运行的方式保存您的请求(以及众多变体)
- 更轻松地以正确的格式输入信息
- 以修饰的JSON视图或原始格式查看响应
- 轻松包含标题信息
使用GUI REST客户端,您将不必担心正确使用curl语法以及从命令行分析请求和响应。
受欢迎的GUI
客户一些流行的GUI客户端包括:
- Postman
- Insomina
- Paw
- Advanced REST Client(Chrome浏览器扩展)
在可用的各种GUI客户端中,Postman可能是最好的选择,因为它可以保存请求和响应,并且是免费的,并且可以在Mac和PC上运行,并且易于配置。
活动:使用Postman发送请求
发出请求在本练习中,您将使用Postman通过OpenWeatherMap的当前天气数据API端点进行请求。发出请求:
- 如果尚未安装,请访问https://www.getpostman.com/downloads/下载并安装Postman应用。(请确保您下载的是应用程序,而不是不建议使用的Chrome扩展程序。)
- 启动Postman应用程序,并在出现提示时登录。
- 如果这是您首次启动Postman,则会出现一个欢迎屏幕。
- 单击创建请求。将以下端点插入到GET旁边的框中:https://api.openweathermap.org/data/2.5/weather
- 单击“参数”选项卡(在插入端点的框下方),然后在键和值行中添加以下三个参数:
- key:zip/ value:95050
- key:unit/value:imprial
- key:appid /value:
对于appid的值,请使用您自己的API密钥。(如果您没有获得API密钥,请在此处使用其中一个密钥。)您的Postman用户界面应如下所示:
添加这些参数时,它们将作为查询字符串显示在GET框中的端点URL。例如,您的端点现在将如下所示:https://api.openweathermap.org/data/2.5/weather?zip=95050&units=imperial&appid=fd4698c940c6d1da602a70ac34f0b147(但具有不同的查询字符串值)。查询字符串参数出现在问号后?符号,并用&分隔。查询字符串参数的顺序无关紧要。
请注意,许多API在标头中传递API密钥,而不是在请求URL中作为查询字符串参数传递。(如果是这种情况,则可以单击“页眉”选项卡,然后在页眉中插入所需的键值对。但是OpenWeatherMap会将API键作为查询字符串参数传递。)
6. 单击发送。
响应将显示在下部窗格中。例如:
保存请求
- 在Postman中,单击“保存”按钮(在“发送”旁边)。
- 出现“保存请求”对话框。
- 在“请求名称”框中,为请求键入一个友好名称,例如“ OpenWeatherMap Current API”。在“请求描述(可选)”字段中,输入描述,例如“以英制单位获取95050的当前天气。”
- 向下滚动一点,然后单击+创建集合以创建一个文件夹来保存请求。命名新集合(例如,“ OpenWeatherMap”),然后单击橙色的复选标记。
然后选择刚刚创建的新集合。创建集合后,将启用“保存”按钮。您的Poatman收藏应如下所示:
5. 点击保存到[集合名称]
已保存的请求将显示在“集合”下的左侧窗格中。(如果您没有看到“收藏夹”窗格,请单击左下角的“显示/隐藏侧栏”按钮将其展开。
(可选)请求OpenWeatherMap 5天预报
现在,不用获取当前天气,而是使用另一个OpenWeatherMap端点获取天气预报。为5天预报请求向邮递员输入详细信息。在Postman中,您可以单击一个新选项卡,或单击“保存”旁边的箭头并选择“另存为”。然后选择您的收藏和要求名称。
5天预报的示例端点(通过邮政编码指定位置)如下所示:
https://api.openweathermap.org/data/2.5/forecast?zip=95050,us
添加API密钥和单位的查询参数:
https://api.openweathermap.org/data/2.5/forecast?zip=95050&appid=APIKEY&units=imperial
(在上面的代码中,用您自己的API密钥替换APIKEY。)观察响应如何包含一个列表,其中提供了五天的预测详细信息。
(可选)再提出一个OpenWeatherMap API
请求再次发出一个OpenWeatherMap API请求,这次更改了您指定位置的方式。不用通过邮政编码指定位置,而是使用纬度和经度地理坐标来指定位置。例如:
https://api.openweathermap.org/data/2.5/weather?lat=37.3565982&lon=-121.9689848&units=imperial&appid=fd4698c940c6d1da602a70ac34f0b147
Postman还有许多其他功能可以使用。我们将在本课程的稍后部分重新讨论Postman,以进行其他一些活动。
相同的请求,但在Paw中而不是Postman中
尽管Postman是流行的REST客户端,但是您也可以使用其他工具,例如Paw。下图显示了与Paw(适用于Mac)相同的当前天气API请求:
与Postman一样,Paw也使您可以轻松查看请求标头,响应标头,URL参数和其他数据。我喜欢Paw以可扩展/可折叠的方式显示响应。展开/折叠功能可以更轻松地浏览响应。请注意,Paw仅特定于Mac,并且像大多数Mac用户产品一样,它也要花钱。
在Postman中输入几个对Aeris API的请求
现在,我们稍微切换一下API,然后查看Aeris Weather API的一些天气信息,您已经在场景中使用天气API进行了一些探讨。
为Aeris Weather API构造端点有点复杂,因为可以使用许多不同的查询,过滤器和其他参数来配置端点。以下是一些为Aeris配置的预配置请求。您可以将请求直接粘贴到Postman中的URL请求框中(自定义CLIENTID和CLIENTSECRET值之后),然后参数将自动填充到参数字段中。
与OpenWeather Map API一样,Aeris API不会使用Header字段来传递API密钥-密钥和机密作为查询字符串的一部分直接在请求URL中传递。
使用观测端点获取您所在地区的天气预报:
http://api.aerisapi.com/observations/Santa+Clara,CA?client_id=CLIENTID&client_secret=CLIENTSECRET&limit=1
使用相同的观测端点,从赤道上的一个城市(厄瓜多尔钦博拉索)获取天气:
http://api.aerisapi.com/observations/Chimborazo,Ecuador?client_id=CLIENTID&client_secret=CLIENTSECRET&limit=1
找出田纳西州诺克斯维尔的所有乡村音乐是否都使用index端点给偏头痛人士:
http://api.aerisapi.com/indices/migraine/Knoxville,TN?client_id=CLIENTID&client_secret=CLIENTSECRET
您正在考虑搬到亚利桑那州,但想找到一个很酷的地方。使用法线端点:
http://api.aerisapi.com/normals/flagstaff,az?client_id=CLIENTID&client_secret=CLIENTSECRET&limit=5&filter=hass
通过查看这两种不同的天气API,您可以看到信息的调用和返回方式的一些差异。但是,从根本上讲,这两个API都有可以使用参数进行配置的端点。当您向端点发出请求时,您将获得包含信息的响应,通常为JSON格式。这是REST API运作方式的核心-您发送请求并获得响应。