API的终点是什么?

时间:2017-10-31 14:13:13

标签: javascript ajax reactjs api postman

我有一个API的以下描述。如何在我的反应应用程序或邮递员中调用此API?我不理解其中的端点。

部署了支持CORS的API,用于IP地理定位和天气查询
https://weathersync.herokuapp.com. 

有两个端点:

/ip

获取请求者IP的地理位置

/weather/$lat,$lng

获取特定纬度和天气的天气经度

我在邮递员中试过https://weathersync.herokuapp.com/weather/28.704059,77.102490,但它不起作用。此外,https://weathersync.herokuapp.com/?ip=192.168.0.106不起作用。任何帮助表示赞赏我是API的新手

1 个答案:

答案 0 :(得分:0)

通过简单的反复试验,我设法确定此API希望您为/ip路由调用它:

https://weathersync.herokuapp.com/ip?73.119.54.218

请注意,这很不寻常,大多数API设计人员都认为这是不正确的。我希望它是/ip/73.119.54.218,但服务器没有正确设置来处理它。

此外,正如评论中提到的TKoL一样,192...之类的IP永远不会起作用,因为它是一个本地IP地址,对于网络之外的外部世界是不可见的。如果服务器尝试根据该IP地址查找任何内容,它可能找不到任何内容,或者甚至更糟糕的是它可能会在其数据中心内找到有关计算机的内容,在这种情况下,它可能会返回从您的点到视图。您可以使用iplocation.net等服务找到外部IP。

您的天气示例可以正常使用(请尝试在浏览器中单击下方):

https://weathersync.herokuapp.com/weather/28.704059,77.102490

我没有尝试Postman,但它可能不适合你,因为它不像浏览器那样发送相同的HTTP头。某些服务器希望发送某些标头。您可以在Postman中手动配置标头以模仿浏览器,如果是这种情况,这应该可以正常工作。